类的继承示代码
继承机制的作用是类的继承机制使程序员无需修改已有类,只需在已有类的基础上,通过增加少量代码或修改少量代码的方法得到新的类,从而较好地解决了代码重用的问题。
由已有类产生新类时,新类便包含了已有类的特征,同时也可以加入自己的新特性。
派生类的特性:继承来的特性
新增加的特性
在类继承时,基类的成员类型不同,派生类型不周,在派生类有不周的访问属性,参照下图。
分析下面程序代码:
#include<iostream>
#include<string>
using namespace std;
class person {
public:
void input()
{ cout<<" 身份证号:";cin>>idcard_no;
cout<<" 姓名: "; cin>>name;
cout<<" 性别: "; cin>>sex;
}
void disp()
{ cout<<" 身份证号:"<<idcard_no<<endl;
cout<<" 姓名: "<<name<<endl;
cout<<" 性别: "<<sex<<endl;
}
private:
string idcard_no;
string sex;
string name;
};
class student:public person{
public:
void input()
{ person::input();
cout<<" 班号:";
cin>>class_no;
cout<<" 成绩:";
cin>>degree;
}
void disp()
{ person::disp();
cout<<" 班号:"<<class_no<<endl;
cout<<" 成绩:"<<degree<<endl;
}
private:
string class_no;
int degree;
};
class teacher:public person{
private:
string professional_title;
string depart;
public:
void input()
{ person::input();
cout<<" 职称:";
cin>> professional_title;
cout<<" 系别:";
cin>>depart;
}
void disp()
{ person::disp();
cout<<" 职称:"<<professional_title<<endl;
cout<<" 系别:"<<depart<<endl;
}
};
int main()
{ student s[2];
teacher t1;
for(int i=0;i<2;i++)
{ cout<<" 输入"<<i+1<<"二个学生数据:"<<endl;
s[i].input();
}
cout<<" 输入一个教师数据:\n";
t1.input();
system("cls");
cout<<" 显示学生数据:\n";
for(int i=0;i<2;i++)
{ s[i].disp();
}
cout<<" 显示教师数据:\n";
t1.disp();
system("pause");
return 0;
}
分析:1.程序中几个类的继承关系
2.分析派生类的特征