拷贝构造函数p463.txt

来自「里面的代码是自己写的,参考书是thingking in c++,代码有详细的说明」· 文本 代码 · 共 35 行

TXT
35
字号
/* 本程序来自thinking in c++ P463 页
* 本程序是为了说明拷贝构造函数也是一个构造函数,以及什么时候调用拷贝构造
* 函数.
* 本程序设计的类的功能就是在任意时刻都能知道属于该类的对象的个数。显然是
*用static member data实现的
*/
#include <fstream>
#include <string>
using namespace std;
ofstream out("HowMany.out");

class HowMany {
	string m_name;            //object identifier
	static int s_objectCount;
public:
	HowMany( const string &id = "") : m_name(id){
		++s_objectCount;
		print("HowMany()");
	}

	~HowMany() {
		-- s_objectCount;
		print("~HowMany()");
	}

	HowMany( const HowMany &h) : m_name( h.m_name ){
        m_name += " copy";
		++s_objectCount;
		print("HowMany( const HowMany &)");
	}

	void print( const string &msg = "" )const {
		if(msg.size() != 0)
			out << msg << endl;
		out << '\t' << m_name << ":" << "s_objectCount" << s_objectCount << endl;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?