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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三构造函数和析构函数

班级:B135A2 学号: 201322688 姓名:杨弘成绩:

一.实验目的

1.理解构造函数和析构函数作用;

2.掌握各种类型的构造函数和析构函数的使用;

3.掌握构造函数和析构函数的调用顺序。

二.使用的设备和仪器

计算机+Windows XP +Visual C++6.0

三.实验内容及要求

1.阅读程序,写出运行结果,然后上机运行,将机器运行结果与人工运行的结果进行比较,并对每一行输出做出分析。

(1)

#include

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;

cout<<"x="<

}

MyClass:: MyClass(int xx)

{

cout<<"执行一个参数构造函数:" ;

x=xx;y=0;

cout<<"x="<

}

MyClass:: MyClass(int xx,int yy)

{

cout<<"执行两个参数构造函数:" ;

x=xx;y=yy;

cout<<"x="<

}

MyClass:: MyClass(MyClass &a)

{

cout<<"执行复制构造函数:" ;

x=a.x;y=a.y;

cout<<"x="<

}

void MyClass:: Display()

{

cout<<"执行显示函数:" ;

cout<<"x="<

}

void MyClass:: Set(int xx=0,int yy=0)

{

cout<<"执行设置函数:" ;

x=xx;y=yy;

cout<<"x="<

}

MyClass:: ~MyClass ()

{

cout<<"执行析构函数:" ;

cout<<"x="<

}

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)

#include

using namespace std;

class A

{

public:

A(int x=100,double y=1.2){a=x;b=y;}

void show(char *pt)

{ cout<

cout<<"a="<

cout<<"b="<

}

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

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<<"("<

相关文档
最新文档