C++实验报告六.docx

上传人:b****8 文档编号:9371379 上传时间:2023-02-04 格式:DOCX 页数:9 大小:59.80KB
下载 相关 举报
C++实验报告六.docx_第1页
第1页 / 共9页
C++实验报告六.docx_第2页
第2页 / 共9页
C++实验报告六.docx_第3页
第3页 / 共9页
C++实验报告六.docx_第4页
第4页 / 共9页
C++实验报告六.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C++实验报告六.docx

《C++实验报告六.docx》由会员分享,可在线阅读,更多相关《C++实验报告六.docx(9页珍藏版)》请在冰豆网上搜索。

C++实验报告六.docx

C++实验报告六

VC++程序设计实验报告

实验六题目:

指向类成员的指针

 

专业

学生姓名

班级学号

指导教师

指导单位

日期

 

教师评语

 

教师签名:

年月日

成绩评定

备注

一、实验目的

1.学习类的聚集的定义方法

2.掌握类中静态成员的使用方法

3.进一步熟悉类的操作

二、实验内容

1.验证课本上例题3.16~3.19

三、实验结果及其结果分析

1、例题3.16

(1)源程序:

#include

#include

classStudentID{

public:

StudentID(intid=0)

{

value=id;

cout<<"Assigningstudentid"<

}

~StudentID()

{

cout<<"Destructingid"<

}

private:

intvalue;

};

classStudent{

public:

Student(char*pName="noname",intssID=0):

id(ssID)

{

cout<<"Constructingstudent"<

strncpy(name,pName,sizeof(name));

name[sizeof(name)-1]='\0';

}

~Student()

{cout<<"Deconstructingstudent"<

protected:

charname[20];

StudentIDid;

};

voidmain()

{

Students("wang",9901);

Studentt("li");

}

(2)实验结果:

(3)结果分析:

程序运行成功,结果正确。

如果在类的定义中包含对象成员,则在创建类对象时先调用对象成员的构造函数,再调用类本身的构造函数。

析构函数和构造函数调用顺序正好相反。

2.例题3.17

(1)源程序:

#include

classStudent

{

public:

Student()

{cout<<"constructingstudent.\n";

semesHours=100;

gpa=3.5;

}

~Student()

{cout<<"destructingstudent.\n";}

protected:

intsemesHours;

floatgpa;

};

classTeacher

{

public:

Teacher()

{cout<<"constructingteacher.\n";}

~Teacher()

{cout<<"destructingteacher.\n";}

};

classTutorpair

{

public:

Tutorpair()

{

cout<<"constructingtutorpair.\n";

nomeeting=0;

}

~Tutorpair()

{cout<<"destructingtutorpair.\n";}

protected:

Studentstudent;

Teacherteacher;

intnomeeting;

};

voidmain()

{

Tutorpairtp;

cout<<"backmain.\n";

}

(2)实验结果:

(3)结果分析:

程序运行成功,结果正确。

如果在类的定义中包含对象成员,则在创建类对象时先调用对象成员的构造函数,再调用类本身的构造函数。

析构函数和构造函数调用顺序正好相反。

3.例题3.18

(1)源程序:

#include

classA

{

staticinti;

public:

A(){i++;}

intlist(){returni;}

};

intA:

:

i=0;

voidmain()

{

Aa1,a2,a3;

cout<

}

(2)实验结果:

(3)结果分析:

程序运行成功,结果正确。

由此例可以看出,因为创建三个对象,三次使得静态数据成员加1。

4.例题3.19

(1)源程序:

#include

#include

classStudent{

public:

Student(char*pNmame="noname")

{

cout<<"creatonestudent\n";

strncpy(name,pNmame,40);

name[39]='\0';

noOfStudents++;

cout<

}

~Student()

{

cout<<"destructonestudent\n";

noOfStudents--;

cout<

}

staticintnumber()

{

returnnoOfStudents;

}

protected:

staticintnoOfStudents;

charname[40];

};

intStudent:

:

noOfStudents=0;

voidfn()

{

Students1;

Students2;

cout<

:

number()<

}

voidmain()

{

fn();

cout<

:

number()<

}

(2)实验结果:

(3)结果分析:

程序运行成功,结果正确。

先调用静态成员函数再累外分配空间和初始化,再调用成员函数用类名引导,析构对象,学生人数减1.

四、实验收获与体会

通过本次实验,我练习使用了类的聚集的定义方法。

通过验证书本上的四道例题,更加清楚地认识到了类中静态成员的使用方法以及对于类的进一步操作。

但类中依然有很多不熟悉的地方需要以后多加练习。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1