《C语言试题、学习、考试大全31》由会员分享,可在线阅读,更多相关《C语言试题、学习、考试大全31(30页珍藏版)》请在金锄头文库上搜索。
1、10.继承(inheritance)10.1.1 类层次结构几个概念:基类(父类) 派生类(子类):从基类派生而成的类 基类和派生类:构成类的层次关系哺乳类哺乳类猫科猫科基类基类base classbase class派生类派生类 derived classderived class10.1.2 派生类对象构造 (Derived Object Structure)l基类:BaseClassclass BaseClass int a,b; /other private member public: /public member ;派生类:B class B : public BaseClass
2、int c; /other private member public: /public member ; a ab bBaseClassBaseClassa ab bc cB B基类部分基类部分派生部分派生部分10.2 访问父类成员10.2.1 继承父类成员 /= / f1001.cpp / 继承 /= #include #include using namespace std; /- class Advisor int noOfMeeting; ; /-class Student string name; int semesterHours; double average; public:
3、 Student(string pName = “noname“):name(pName),average(0),semesterHours(0) void addCourse(int hours,double grade) double totalGrade = (semesterHours*average + grade); /总 分 semesterHours += hours; /总 修学时 average = semesterHours ? totalGrade/semesterHours : 0; /平 均分 int getHours() return semesterHours;
4、 double getAverage() return average; void display() cout #include using namespace std; /-class Advisor int noOfMeeting; public: Advisor()cout“Advisorn“; Advisor(const Advisor Advisor()cout“Advisorn“;class Student string name; int semesterHours; double average; public: Student(string pName = “noname“
5、):name(pName),average(0),semesterHours(0) cout“Studentn“; void addCourse(int hours,double grade) double totalGrade = (semesterHours*average + grade); / 总分 semesterHours += hours; / 总修学时 average = semesterHours ? totalGrade/semesterHours : 0; / 平均分 int getHours() return semesterHours; double getAvera
6、ge() return average; void display() cout“name = “name“ “,hours = “semesterHours “,average = “averageendl; Student() cout“Studentn“; ;class GraduateStudent:public Student Advisor advisor; int qualifierGrade; public: GraduateStudent(const string cout“GraduateeStudentn“; int getQualifier() return qualifierGrade; ;void fn(Advisor gs.display(); /- void main() Advisor da; fn(da);