|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <iostream>
using namespace std;
class FOO {
public: FOO(int i)
{
cout << "Constructing.\n";
pointer = new int;
*pointer = i;
}
FOO(const FOO& other)
{
cout << "Copy constructing.\n";
pointer = new int;
*pointer = *other.pointer; //把other指针所指向的
} //内容赋给pointer指向的内容
~FOO()
{
cout << "Destructing.\n";
delete pointer;
return;
}
int get() { return *pointer; }
private: int* pointer;
};
void display(FOO obj)
{
cout << obj.get() << "\n";
return;
}
int main()
{
FOO obj1(15);
FOO obj2 = obj1; // 也可调用FOO obj2(obj1) ,调用拷贝构造函数
display(obj2); // 调用拷贝构造函数, 用实参obj2初始化形参obj
return 0;
} |
|