|
根据所给代码和输入输出将代码补充完整。
1)定义一个大学生类Student,函数私有数据成员:姓名(name)、学号(StuNum)、校名(universty_name),并为它定义带参数的构造函数、参数带缺省值的构造函数
和输出数据成员值的print()公有成员函数;
2)另定义研究生类(GraStudent),它以公有继承方式派生于类Student,新增加“研究方向(special)、导师名(directorname)”两个私有数据成员,并定义带参数的构造函数和输出研究生数据的print()公有成员函数。
- #include<iostream>
- using namespace std;
- #include<string.h>
- class Student
- {
- protected:
- char *name;
- char *stunum;
- char *uniname;
- public:
- Student();
- Student(char *pn, char* ps, char* pu);
- void print();
- };
- // 在此处补充你的代码
- int main()
- {
- Student stu1("Li","1600141","CUC");
- stu1.print();
- GraStudent gstu("Wang","1600240","CUC","Computer","Zhang");
- gstu.print();
- return 0;
- }
复制代码
输入
无
输出
第一行:大学生的姓名
第二行:大学生的学号
第三行:大学生的校名
第四行:研究生的姓名
第五行:研究生的学号
第六行:研究生的校名
第七行:研究生的研究方向
第八行:研究生的导师姓名
样例输入
NULL
样例输出
name=Li
StuNum=1600141
universty_name=CUC
name=Wang
StuNum=1600240
universty_name=CUC
special is Computer
director is Zhang
本帖最后由 JLDawson 于 2022-4-14 17:42 编辑
私有数据成员,在给出的代码中为保护数据成员,对此进行调整。
它定义带参数的构造函数、参数带缺省值的构造函数。这句话我不李姐
- #include<iostream>
- #include<string.h>
- using namespace std;
- class Student
- {
- public:
- Student(string name, string StuNum, string universty_name);
- Student();
- void print();
- private:
- string name;
- string StuNum;
- string universty_name;
- };
- Student::Student(string name, string StuNum, string universty_name):name(name), StuNum(StuNum), universty_name(universty_name){
- }
- Student::Student() : name(""), StuNum(""), universty_name("") {
- }
- void Student::print() {
- cout << "name=" << name.c_str() << endl;
- cout << "StuNum=" << StuNum.c_str() << endl;
- cout << "universty_name=" << universty_name.c_str() << endl;
- }
- class GraStudent:public Student
- {
- public:
- GraStudent(string name, string StuNum, string universty_name, string special, string directorname);
- void print();
- private:
- string special;
- string directorname;
- };
- GraStudent::GraStudent(string name, string StuNum, string universty_name, string special, string directorname) :Student(name, StuNum, universty_name), special(special), directorname(directorname){
- }
- void GraStudent::print() {
- Student::print();
- cout << "special is " << special.c_str() << endl;
- cout << "director is " << directorname.c_str() << endl;
- }
- int main()
- {
- Student stu1("Li", "1600141", "CUC");
- stu1.print();
- GraStudent gstu("Wang", "1600240", "CUC", "Computer", "Zhang");
- gstu.print();
- return 0;
- }
复制代码
|
上一篇: 一个算法题, 规定机器人在一个区间内行动一定步数来到某个位置,使用递归算法解决下一篇: 关于多个Png如何制作成bmp格式
|