我不明白为什么在这种情况下复制构造函数没有被调用。有人可以解释一下吗?复制构造函数不叫!
#include <iostream>
class foo
{
int* ptr;
public:
foo()
{
std::cout << "\n Constructor \n" ;
ptr = new int;
*ptr = 10;
}
foo(const foo* &obj) // Copy Constructor
{
std::cout << "\n Copy Constructor \n" ;
ptr = new int;
*(this->ptr) = *(obj->ptr);
}
// Copy Assignment Operator
~foo() // Destructor
{
delete ptr;
}
};
int main()
{
foo* objOne = new foo;
foo* objTwo = objOne ;
getchar();
return 0;
}
你为什么不自己尝试一下? ;) – visitor 2011-02-11 09:54:20