📄 14-26.txt
字号:
/* 范例:14-26 */
#include <iostream.h>
class B
{
public:
int a;
int b;
B():a(10),b(20){}
};
class A
{
public:
int c;
B *d;
A():c(30),d(new B){}
A(const A &oo):c(oo.c),d(new B){*d = *oo.d;} /* 此为复制构造函数 */
~A(){delete d;}
};
void main()
{
A *ptr;
ptr = new A;
A obj2(*ptr);
cout<<"delete ptr前\n";
cout<<"obj2.c="<<obj2.c<<"\tobj2.d->a="<<obj2.d->a \
<<"\tobj2.d->b="<<obj2.d->b<<endl;
delete ptr;
cout<<"delete ptr后\n";
cout<<"obj2.c="<<obj2.c<<"\tobj2.d->a="<<obj2.d->a \
<<"\tobj2.d->b="<<obj2.d->b<<endl;
getchar();
}
程序执行结果:
delete ptr前
obj2.c=30 obj2.d->a=10 obj2.d->b=20
delete ptr后
obj2.c=30 obj2.d->a=10 obj2.d->b=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -