实验5 类和对象、继承和派对
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验内容
程序ExClass: 定义一个人员类CPerson,包括数据成员:姓名、编号、性别和用于输入输出的成员函数。在此基础上派出学生类(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入、输出。编写一个完整的测试程序,并将EX-Class所有的类定义保存在Ex-Class.h,将类的成员函数实现代码保存在Ex-Class.cpp中
实验备和说明
{1}在学习完第2章的“继承和派对类“内容之后进行本次实验。
(2)编写本次上机所需的程序。
实验步骤
1.创建工作文件夹
打开计算机,在“D:\Visual C++程序\LiMing”文件夹中创建一个新的子文件夹“实验5”。
2.输入程序Ex-Class.h
输入程序Ex-Class.h的具体步骤如下。
(1)启动Visual C++ 6.0.
(2)单击标准工具栏上的按钮,在新打开的文档窗口中输入下列程序代码:序代码:
#include
#include
class Cperson
{
public:
Cperson()
{
strcpy(pName,??);
strcpy(pID,??);
}
Cperson(char*name,char*id,bool isman=1)
{ Input(name,id,isman);}
void Input(char*name,char*id,bool isman)
{
setName(name);
setID(id);
setSex(isman);
}
void Output()
{
cout<
cout<
char*str=bMan? ?男?:?女?;
cort<
}
public: ∥姓名属性操作
char*getName()const
{ reture (char*)pName;}
void setName(char*name)
{
int n=strlen(name);
strncpy(pName,name,n);
pName[n]= ′?0?;
}
∥编号属性操作
char*getID()const
{ reture(char*)pID; }
void setID(char*id)
{
int n=strlen?id?;
Strncpy?pID,id,n?;
pID[n]=′?0?;
}
∥性别属性操作
bool getSex(){ return bMan;}
void setSex(bool isman) {bMan=isman;}
private:
char pName[20];∥姓名
char pID [20];∥编号
bool bMan;∥性别:0表示女,1表示男};
class Cstudent:public Cperson
{
Public:
Cstudent(char*name,char*id,bool isman=1);
~Cstudent(){}
Void InputScore(double score1,double score 2 double score3);
Void Print();
Cperson student;
Private:
double dbScore[3];∥3门成绩
};
Class CTeacher:public Cperson
{
Public:
CTeacher(char*name,char*id,bool isman=1,int years=10);
~ CTeacher(){}
Void Print();
private:
int nTeach Years;∥教龄
}:
(3)单击标准工具栏的Save按钮,弹出“保存为”文件对话框。将文件定位到
“D:\Visual C++程序\LiMing\实验5”,文件名为Ex_Class.h。
3.输入程序Ex_Class.cpp
输入程序Ex_Class.cpp的具体步骤如下。
(1)单击标准工具栏上的“New Text File”按钮,在新打开的文档窗口中输入下列程序代码:#include
# include?Ex-Class.h?
//类Cstudent实现代码
Cstudent::Cstudent(char*name,*id,bool isman) :student(name,id,isman)
{
deScore〔0〕=0
dbScore〔1〕=0
deScore〔2〕=0
}
void Cstudent:InputScore(double scorel,double score2,double score3)
{
deScore〔0〕=score1
dbScore〔1〕= score2
deScore〔2〕= score3
}
void Cstudent::Print()
{
Student.Output()
for(int i=0;i<3;i++)
cout<
}
类Cteacher实现代码 CTeacher::Cteacher(char*name,char*id,bool isman, int years) {
nTeachYears= years;
Input(name, id, isman);
}
voidCTeacher::Print()
{
Output()
cout<
}
//主函数
void main()
{
Cstudent stu(?LiMing?,?21010211?)
cout< cout< stu.Print(); stu.student.setName(?LingLing?); stu.student.setSex(0); stu.InPuScore(80,90,85); stu.Print() Cteacher tea(?Ding?,?911085?); tea.Print();