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

    xiaoxiao2025-09-18  13

    阅读程序,写出程序的运行结果并理解其运行机制。 (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)