14-28.txt

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

TXT
37
字号
/* 范例:14-28 */
#include <iostream.h>
class A
{
  public:
    int *a;
    A():a(new int(100))
      {cout <<"调用构造函数" <<endl;}
    A(const A &obj):a(obj.a)
      {cout <<"调用复制构造函数" <<endl;}
};
void main()
{
  A *ptr;
  ptr = new A;
  A obj2(*ptr);
  cout <<"delete ptr前ptr->a的地址是" <<ptr->a <<"\tptr->a=" \
<<*ptr->a <<endl;
  cout <<"delete ptr前obj2.a的地址是" <<obj2.a <<"\tobj2.a=" \
      <<*obj2.a <<endl;
  delete ptr;
  cout <<"delete ptr后ptr->a的地址是" <<ptr->a <<"\tptr->a=" \
      <<*ptr->a <<endl;
  cout <<"delete ptr后obj2.a的地址是" <<obj2.a <<"\tobj2.a=" \
      <<*obj2.a <<endl;
  getchar();
}

程序执行结果:
调用构造函数
调用复制构造函数
delete ptr前: ptr->a的地址是00682F28  ptr->a=100
delete ptr前: obj2.a的地址是00682F28   obj2.a=100
delete ptr后: ptr->a的地址是00682F34  ptr->a=13
delete ptr后: obj2.a的地址是00682F28   obj2.a=100

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?