thief.cpp
来自「关于类私有变量的访问 试验。同一个类中两个变量A和B」· C++ 代码 · 共 58 行
CPP
58 行
#include "stdio.h"
class People
{
private:
int money;
private:
People(){money = 100;};
~People(){};
//People(int val) { this->money = val; }
public:
static People* GetInstance()
{
return new People;
};
void Die()
{
delete this;
};
void steal(People &a)
{
printf("I see his money. %d ,", a.money);
a.money--;
this->money++;
printf("and I Steal 1.\n");
}
void ShowMoney()
{
printf("I have money %d.\n",money);
}
};
void main()
{
// People a1(1);//这样是不可以的了。
// People a2(2);
People *Jim = People::GetInstance();//用这样的方式来创建 对象指针。
People *Peter = People::GetInstance();
printf(" Jim Said: ");
Jim->ShowMoney();
printf(" Peter Said: ");
Peter->ShowMoney();
printf(" Jim Said: ");
Jim->steal(*Peter);//这里 Jim 可以访问 peter的 money,甚至偷钱。
printf(" Jim Said: ");
Jim->ShowMoney();
printf(" Peter Said: ");
Peter->ShowMoney();
Jim->Die();
Peter->Die();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?