2015级C++第9周程序阅读 类和指针

来源:互联网 发布:tensorflow源代码语言 编辑:程序博客网 时间:2024/06/05 07:05

阅读程序,写出程序的运行结果并理解其运行机制。
(1)

#include <iostream>using namespace std;class A{public:    A(){cout<<"A";}    ~A(){cout<<"~A";}};class B{    A *p;public:    B()    {        cout<<"B";        p=new A();    }    ~B()    {        cout<<"~B";        delete p;    }};int main(){    B obj;    return 0;}

(2)

#include <iostream>using namespace std;class MyClass{public:    MyClass(int x=0):i(x){cout<<"C"<<i;}    ~MyClass(){cout<<"D"<<i;}    void SetValue(int val){i=val;}    int GetVal(){return i;}private:    int i;};int main(){    MyClass *p[3];    int i;    for (i=0; i<3; i++)    {        p[i]=new MyClass(i);        p[i]->SetValue(p[i]->GetVal()*2);    }    for (i=0; i<3; i++)        delete p[i];    cout<<endl;    return 0;}

(3)

#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;}
0 0
原创粉丝点击