?? 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 + -