📄 ex_classprivatederived.cpp
字号:
#include <iostream.h>
#include <string.h>
class CPerson // 基类,此代码与Ex_ClassPublicDerived相同
{
public:
void SetData(char *name, char *id, bool isman = 1)
{
int n = strlen(name);
strncpy(pName, name, n); pName[n] = '\0';
n = strlen(id);
strncpy(pID, id, n); pID[n] = '\0';
bMan = isman;
}
void Output()
{
cout<<"姓名:"<<pName<<endl;
cout<<"编号:"<<pID<<endl;
char *str = bMan?"男":"女";
cout<<"性别:"<<str<<endl;
}
private:
char pName[20]; // 姓名
char pID[20]; // 编号
bool bMan; // 性别:0表示女,1表示男
};
class CStudent: public CPerson // 派生类
{
public:
void SetPersonData(char *name, char *id, bool isman = 1)
// 与Ex_ClassPublicDerived相比,这是新增加的代码
{
SetData(name, id, isman); // 在类中调用基类成员函数
}
void InputScore(double score1, double score2, double score3)
{
dbScore[0] = score1;
dbScore[1] = score2;
dbScore[2] = score3;
}
void Print()
{
Output(); // 在类中调用基类成员函数
for (int i=0; i<3; i++)
cout<<"成绩"<<i+1<<":"<<dbScore[i]<<endl;
}
private:
double dbScore[3]; // 三门成绩
};
void main() // 主函数
{
CStudent stu;
stu.SetPersonData("LiMing", "21010211");
stu.InputScore( 80, 76, 91 );
stu.Print();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -