第六周项目零:阅读程序(5):结构函数和析构函数,对象的赋值

来源:互联网 发布:数据统计岗位职责 编辑:程序博客网 时间:2024/04/28 13:25

代码:

#include <iostream>using namespace std;class AA{public:    AA(int i,int j)    {        A=i;        B=j;        cout<<"Constructor\n";    }    AA(AA &obj)    {        A=obj.A+1;        B=obj.B+2;        cout<<"Copy_Constructor\n";    }    ~AA()    {        cout<<"Destructor\n";    }    void print()    {        cout<<"A="<<A<<",B="<<B<<endl;    }private:    int A,B;};int main(){    AA a1(2,3);    AA a2(a1);    a2.print();    AA *pa=new AA(5,6);    pa->print();    delete pa;    return 0;}


运行结果:

 

学习心得:

声明a1对象,初始化为2,3,调用函数AA(int i,int j),输出Constructor,将对象a1赋值给对象a2,调用函数AA(AA &obj),输出Copy_Constructor,这时A=3,B=5,调用print();函数,输出A,B,声明一个pa指针对象指向AA,再输出A,B的值,delete pa,执行析构函数,加上前两次调用结构函数,输出3次Destructor

0 0