#include <string>
#include <iostream>
using namespace std;
class People
{
public:
string Name;
void PrintName();
};
void People::PrintName()
{
cout << "姓名:" << Name << endl;
}
//保护继承 People
class Student :protected People
{
public:
int SID;
void PrintSID();
//添加一个 Set 函数来设置父类的 Name 成员
void Set(string name);
string Get();
};
void Student::Set(string name)
{
Name = name;
}
string Student::Get()
{
return Name;
}
void Student::PrintSID()
{
//输出学号 SID
cout << "学号:" << SID << endl;
}
void Set(int sid, string name, Student* ptr)
{
//给 ptr 对象的两个属性赋值
ptr->SID = sid;
ptr->Set(name);
}
int main()
{
int id;
string name;
cin >> id >> name;
Student st;
Set(id, name, &st);
st.PrintSID();
((People*)&st)->PrintName();
}
头歌实训项目【保护继承——学生信息类】
最新推荐文章于 2023-12-22 00:03:37 发布
本文展示了一个C++程序,定义了一个`People`类和一个`Student`类,`Student`类从`People`类保护继承。程序中包含设置和获取姓名的方法,以及设置和打印学号的功能。在`main`函数中,创建了一个`Student`对象并展示了如何使用这些方法。
摘要由CSDN通过智能技术生成