c++编写程序。要求: (1)定义一个基类Student, 类内有保护数据成员num (学号)、name (姓名),公有成员包括构造函数、show()函数。构造函数带2个参数用于定义对象时赋初值,show() 函数作用是显示学生信息,即num、name 的值。 (2)定义一个派生类Student1, Student1公有继承自Student类。Student1类新增私有数据成员age (年龄)、addr (地址)以及子对象monitor (班长,Student 类型),新增公有成员包括构造函数、show()函数。 构造函数带6个参数用于定义对象时赋初值,show() 函数作用是显示学生的所有信息,即本人的num、name、 age、addr 以及班长的num、name 。 (3)在main()函数定义Student1类的对象stud1并赋初值,调用show()函数显示该学生的所有信息。
时间: 2024-03-24 10:39:00 浏览: 86
赋值兼容规则-c++程序设计谭浩强完整版
以下是符合要求的 C++ 程序:
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
protected:
int num;
string name;
public:
Student(int n, string nam) : num(n), name(nam) {}
void show() {
cout << "学号:" << num << endl;
cout << "姓名:" << name << endl;
}
};
class Student1 : public Student {
private:
int age;
string addr;
Student monitor;
public:
Student1(int n, string nam, int a, string ad, int mn, string mnam)
: Student(n, nam), age(a), addr(ad), monitor(mn, mnam) {}
void show() {
cout << "学号:" << num << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "地址:" << addr << endl;
cout << "班长学号:" << monitor.num << endl;
cout << "班长姓名:" << monitor.name << endl;
}
};
int main() {
Student1 stud1(1001, "Tom", 18, "Beijing", 1002, "Jerry");
stud1.show();
return 0;
}
```
程序中,我们首先定义了一个基类 `Student`,包含保护数据成员 `num` 和 `name`,以及公有成员函数 `构造函数` 和 `show()`。接着定义了一个派生类 `Student1`,公有继承自 `Student`,并新增了私有数据成员 `age`、`addr` 和 `monitor`,以及公有成员函数 `构造函数` 和 `show()`。其中,`monitor` 是一个 `Student` 类型的子对象,表示班长。在 `main()` 函数中,我们定义了一个 `Student1` 类的对象 `stud1` 并赋初值,然后调用 `show()` 函数显示该学生的所有信息。
阅读全文