C++实验三构造函数和析构函数题目+答案..docVIP

  • 110
  • 0
  • 约8.45千字
  • 约 15页
  • 2016-12-10 发布于重庆
  • 举报

C++实验三构造函数和析构函数题目+答案..doc

C实验三构造函数和析构函数题目答案.

实验三 构造函数和析构函数 班级:B135A2 学号: 201322688 姓名: 杨弘 成绩: 实验目的 1.理解构造函数和析构函数作用; 2.掌握各种类型的构造函数和析构函数的使用; 3.掌握构造函数和析构函数的调用顺序。 使用的设备和仪器 计算机+Windows XP +Visual C++6.0 实验内容及要求 1.阅读程序,写出运行结果,然后上机运行,将机器运行结果与人工运行的结果进行比较,并对每一行输出做出分析。 (1) #include iostream using namespace std; class MyClass { public: MyClass(); MyClass(int xx); MyClass(int xx,int yy); MyClass(MyClass ); void Display(); void Set(int, int); ~ MyClass(); private: int x,y; }; MyClass:: MyClass() { cout执行无参构造函数: ; x=0;y=0; coutx=xy=yendl; } MyClass:: MyClass(int xx) { cout执行一个参数构造函数: ; x=xx;y=0; coutx=xy=yendl; } MyClass:: MyClass(int xx,int yy) { cout执行两个参数构造函数: ; x=xx;y=yy; coutx=xy=yendl; } MyClass:: MyClass(MyClass a) { cout执行复制构造函数: ; x=a.x;y=a.y; coutx=xy=yendl; } void MyClass:: Display() { cout执行显示函数: ; coutx=xy=yendl; } void MyClass:: Set(int xx=0,int yy=0) { cout执行设置函数: ; x=xx;y=yy; coutx=xy=yendl; } MyClass:: ~MyClass () { cout执行析构函数: ; coutx=xy=yendl; } void main() { MyClass a(12,34); a.Set(20); a.Display(); MyClass b(a); b.Display(); MyClass c; MyClass d(222); { MyClass e(788,453); d.Display(); } c.Display(); } (2) #includeiostream using namespace std; class A { public: A(int x=100,double y=1.2){a=x;b=y;} void show(char *pt) { coutpt:endl; couta=aendl; coutb=bendl; } private: int a; double b; }; void main() { A obj1,obj2(100,3.5); obj1.show(obj1); obj2.show(obj2); A *p; p=obj1; p-show(p-obj1); (*p).show((*p)obj1); p=obj2; p-show(p-obj2); (*p).show((*p)obj2); p=new A; p-show(p-new); delete p; } (3) #include iostream using namespace std; class Complex { public: Complex(); Complex (double x, double y); Complex (Complex c); ~ Complex (); double GetRel() { return rel;} double GetImg() { return img;} private: double rel, img; }; Complex::Complex() { rel=0; img=0; cout缺省构造函数被调用: ; cout(rel,img)endl; } Complex::Compl

文档评论(0)

1亿VIP精品文档

相关文档