14-26.txt

来自「c和c++完美演绎,里面有编程的方法,对编程技术的提高有很大的帮助」· 文本 代码 · 共 40 行

TXT
40
字号
/* 范例: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 + =
减小字号Ctrl + -
显示快捷键?