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 + -
显示快捷键?