#include <iostream>

using namespace std;

// 单例模式
class ChairMan {

public:
	
	static ChairMan* getChairMan() {
		return singleMan;
	}

private:

	ChairMan() {

	}

	ChairMan(const ChairMan& chairMan) {

	}

	static ChairMan* singleMan;
};
ChairMan* ChairMan::singleMan = new ChairMan; // 初始化单例

void test01() {

	ChairMan* chairMan1 = ChairMan::getChairMan();

	ChairMan* chairMan2 = ChairMan::getChairMan();

	if (chairMan1 == chairMan2) {
		cout << "chairMan1 == chairMan2" << endl;
	} else {
		cout << "chairMan1 != chairMan2" << endl;
	}

	//ChairMan* chairMan3 = new ChairMan(*chairMan1); // 私有化 拷贝构造函数之后, 本句报错;
	//if (chairMan2 == chairMan3) {
	//	cout << "chairMan2 == chairMan3" << endl;
	//}
	//else {
	//	cout << "chairMan2 != chairMan3" << endl;
	//}
}

int main() {
	
	test01();

	return EXIT_SUCCESS;
}
#include <iostream>

using namespace std;

class Printer {

public:
	static Printer* getPrinter() {
		return singlePrinter;
	}

	void printText(string text) {
		cout << text << endl;
		this->count++;
		cout << "打印机使用了 " << this->count << " 次" << endl;
	}

private:
	
	Printer() {

	}

	Printer(const Printer &printer) {

	}

	static Printer* singlePrinter;
	int count = 0;
};
Printer* Printer::singlePrinter = new Printer;


void test01() {

	Printer* printer1 = Printer::getPrinter();

	printer1->printText("xuyushan");
	printer1->printText("gaoxiaoyuan");

	Printer* printer2 = Printer::getPrinter();
	printer2->printText("liisiying");
	printer2->printText("caotingting");
	
}

int main() {

	test01();

	return EXIT_SUCCESS;
}

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐