从项目2和项目3中选1题作为实验、剩下2题写成作业。
【项目1 - 龙三】
请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为:Name: 龙三
Grade: 19
#include <iostream> #include <string> using namespace std; class Person{ public: Person(string s){ name=s; } void display( ){ cout<<"Name: "<<name<<endl; } private: string name; }; class Student: ___________//(1) { public: Student(string s, int g):__________ // (2)參考教材P169加底纹部分 {grade=g;} void display1( ) { _________; // (3) cout<<"Grade: "<<grade<<endl; } private: int grade; }; int main( ) { Student s("龙三",19); ___________; // (4) return 0; }【项目2 - 学生类】
class Stu //声明基类 { public: Stu(int n, string nam ); //基类构造函数 void display( ); //成员函数。输出基类数据成员 protected: //(*)訪问权限为保护型的数据成员 int num; //学生学号 string name; //学生姓名 }; class StuDetail: public Stu //声明派生类StuDetail { public: //学生nam,学号n,a岁。家住ad,他的班长是nam1,学号n1 StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数 void show( ); //成员函数。输出学生的信息 void show_monitor( ); //成员函数,输出班长信息 private: Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员 int age; //学生年龄 string addr; //学生的住址 }; int main( ) { //学生张三,10010号,19岁,家住江西南昌。他的班长是李四。学号10001 StuDetail s(10010,"张三",19,"江西南昌",10001,"李四"); s.show( ); //输出学生信息 s.show_monitor(); //输出班长信息 return 0; }上面是声明好的类及測试函数,请完毕类中成员函数的定义。使执行结果如图所看到的。
【项目3 - 职员薪水】
定义一个名为CPerson的类,有下面私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数。
并在此基础上派生出CEmployee类。派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。
要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数。并为派生类CEmployee定义输出信息的函数。
class CPerson { protected: string m_szName; string m_szId; int m_nSex;//0:女,1:男 int m_nAge; public: CPerson(string name,string id,int sex,int age); void Show1(); }; class CEmployee:public CPerson { private: string m_szDepartment; double m_Salary; public: CEmployee(string name,string id,int sex,int age,string department,double salary); void Show2(); }; int main() { string name,id,department; int sex,age; double salary; cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水: "; cin>>name>>id>>sex>>age>>department>>salary; CEmployee employee1(name,id,sex,age,department,salary); employee1.Show2(); return 0; }