Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350505
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:01:17

class TMyClass
{
public:
  inline TMyClass() { a = 0; } //默认值
  operator int () { return a; }
  operator AnsiString() { return a; }
  inline void SetA(int v) { a = v; } //用这个成员函数可以改变a值
private:
  int a;
  friend void FuncSetA(TMyClass&,int); //这个函数为友元函数也可以改变a值
};

void FuncSetA(TMyClass &c, int v) //友元函数可以访问类的私有变量
{
  c.a = v;
}

TMyClass a; //定义默认为只读的全局变量,默认值由构造函数确定的

void __fastcall TForm1::Button4Click(TObject *Sender)
{
  int x = a;

  Memo1->Lines->Add(a);
  Memo1->Lines->Add(x);

  a.SetA(5); //用这个成员函数改变a值

  int y = a;
  Memo1->Lines->Add(a);
  Memo1->Lines->Add(y);

  FuncSetA(a,8); //也可以用这个友元函数改变a值
  Memo1->Lines->Add(a);

  //a = x; //此句非法
  //a.a = x; //此句非法
}

--------------------next---------------------

阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~