第10周-阅读项目

来源:互联网 发布:sqlserver guid 编辑:程序博客网 时间:2024/04/28 18:07
问题及代码:

#include <iostream>  using namespace std;  class Data  {  public:      Data(int i):x(i)      {          cout<<"A";      }      ~Data()      {          cout<<"B";      }  private:      int x;  };  class Base  {  public:      Base(int i):b1(i)      {          cout<<"C";      }      ~Base()      {          cout<<"D";      }  private:      int b1;  };  class Derived:public Base  {  public:      Derived (int i,int j):Base(i),d1(j)      {          cout<<"E";      }      ~Derived()      {          cout<<"F";      }  private:      Data d1;  };  int main()  {      Derived obj(1,2);      return 0;  }  


运行结果:



问题及代码:

#include<iostream>  using namespace std;  class G  {  public:      static int m;      G( )  //构造函数      {          m++;          cout<<"G begins\n";      }      ~G( )      {          cout<<"G ends\n";          m--;      }  };  int G::m=0;  class D:public G  {  public:      D( )  //构造函数      {          m++;          cout<<"D begins\n";      }      ~D( )      {          cout<<"D ends\n" ;          m-- ;      }  };  int main( )  {      D objg;      cout<<G::m<<endl;      return 0;  }  



运行结果:



问题及代码:

#include<iostream>  using namespace std;  class  A  {  private:      int  x;  protected:      int y;  public:      int z;      A(int a,int b,int c)      {          x=a;          y=b;          z=c;      }      int  Getx()      {          return x;      }      int  Gety()      {          return y;      }      void ShowA()      {          cout<< "x="<<x<<'\t';          cout<<"y="<<y<<'\t';          cout<<"z="<<z<<'\n';      }  };  class B:public A   //修改点(见后面阅读要求)  {  private:      int m,n;  public:      B(int a,int b,int c,int d,int e):A(a,b,c)      {          m=d;          n=e;      }      void Show()      {          cout<<"m="<<m<<'\t'<<"n="<<n<<'\n';          cout<<"x="<<Getx()<<'\t';          cout<<"y="<<y<<'\t'<<"z="<<z<<'\n';      }      int Sum()      {          return (Getx()+y+z+m+n);      }  };  int main()  {      B b1(1,2,3,4,5);      b1.ShowA();      b1.Show();      cout<< "Sum="<<b1.Sum()<<'\n';      cout<<"x="<<b1.Getx()<<'\t';      cout << "y=" <<b1.Gety()<<'\t';      cout << "z="<<b1.z<<'\n';      return 0;  }  



运行结果:



问题及代码:

#include <iostream>using namespace std;  class Part  //部件类  {  public:      Part();      Part(int i);      ~Part();  private:      int val;  };  Part::Part()  {      val=0;      cout<<"调用Part的默认构造函数:"<<val<<endl;  }  Part::Part(int i)  {      val=i;      cout<<"调用Part的构造函数: "<<val<<endl;  }  Part::~Part()  {      cout<<"调用Part的析构函数: "<<val<<endl;  }  class Whole: public Part  {  public:      Whole();      Whole(int,int,int,int);      ~Whole();  private:      Part one;      Part two;      int data;  };  Whole::Whole()  {      data=0;      cout<<"调用whole的默认构造函数: "<<data<<endl;  }  Whole::Whole(int p, int i,int j,int k):Part(p),one(j),two(i),data(k)  //问题2  {      cout<<"调用whole的构造函数: "<<data<<endl;  }  Whole::~Whole()  {      cout<<"调用whole的析构函数: "<<data<<endl;  }  void f()  {      Whole w1;      Whole w2(1,2,3,4);  }  int main()  {      f();      return 0;  }  


运行结果:


0 0
原创粉丝点击