一入程序深似海,从此妹子成路人
分类: C/C++
2015-07-11 23:44:52
原文地址:面试题目 之 C++ 对象作为参数传递 作者:梧桐KK
若未重写拷贝构造函数,类的其它构造函数将不会被调用。
形参的数据是通过内存拷贝传递的。
若重写了拷贝构造函数,拷贝构造函数将会在初始化形参时被调用,不再进行内存拷贝工作。”
#include "stdafx.h"输出:
#include
using namespace std;
class A
{
public:
A(){ ++m_Count; }
~A(){ --m_Count; Print(); }
void Print()
{
cout << "m_Count = "<< m_Count << endl;
}
private:
static int m_Count;
};
int A::m_Count = 0;
A foo(A tempA)
{
tempA.Print();
return tempA;
}
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.Print();
A b = foo(a);
return 0;
}