c++第五章2派生类的构造函数和析构函数.pptVIP

  • 6
  • 0
  • 约1.01万字
  • 约 47页
  • 2016-08-15 发布于重庆
  • 举报

c++第五章2派生类的构造函数和析构函数.ppt

c第五章2派生类的构造函数和析构函数

C++面向对象程序设计 5.5 派生类的构造函数和析构函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数。 在设计派生类的构造函数时候,不仅要考虑派生类所增加的数据成员初始化,也要考虑基类的数据成员初始化。 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,需要调用基类构造函数完成。 如果要调用基类带参数的构造函数,派生类的构造函数需为基类的构造函数传递参数。 5.5.1 简单的派生类的构造函数 简单的派生类 只有一个基类 只有一级派生 不包含基类的对象 派生类构造函数名(总参数列表):基类构造函数名(参数列表) { 派生类中新增数据成员初始化语句 }; #include iostream//例5.5 #include string using namespace std; class Student {public: Student(int n, string nam, char s){ num=n; name=nam; sex=s;} ~Student(){} protected: int num; string name; char sex;}; class Student1:public Student { public: Student1(int n, string nam, char s,int a, string ad): Student(n,nam,s) {age=a; addr=ad;} void show() { coutnum:numendl; coutname:nameendl; coutsex:sexendl; coutage:ageendl; coutaddress:addrendl; } ~Student1(){} private: int age; string addr; }; int main() { Student1 stud1(10010,Wang-li, f,19,115 Beijing Road ,Shanghai); Student1 stud2(10011,Zhang-fun, m,21,213 Shanghai Road,Beijing); stud1.show(); stud2.show(); return 0;} 5.5.1 简单派生类的构造函数 5.5.1 简单的派生类的构造函数 建立一个对象时,执行构造函数的顺序是:派生类构造函数先调用基类的构造函数,再执行派生类构造函数本身(派生类构造函数的函数体)。 派生类构造函数的任务: 对基类数据成员初始化 对子对象数据成员初始化 对派生类数据成员初始化 #include iostream//例5.6 #include string class Student { public: Student(int n, string nam) {num=n; name=nam;} void display() {coutnum:numendl;coutname:nameendl; } protected: int num; string name; }; 5.5.2 有子对象的派生类的构造函数 5.5.2 有子对象的派生类的构造函数 派生类构造函数一般形式: 派生类构造函数名(总参数表列):基类构造函数名1(参数表列1),基类构造函数名2(参数表列2)…,子对象名1(子对象参数1),子对象名2(子对象参数2),… { 派生类中新增数据成员初始化语句} 5.5.2 有子对象的派生类的构造函数 执行派生类构造函数的顺序: 调用基类构造函数,对基类数据成员初始化 调用子对象构造函数,对子对象数据成员初始化 在执行派生类构造函数本身,对派生类数据成员初始化 5.5.3 多层派生时的构造函数 class Student {public: Student(int n, string nam ) {num=n; name=nam;} void display() {coutnum:numendl; coutname:nameendl;} protected: int num; string name;}; class Student1:public Student {public: Student1(int n, string nam, int a): Student(n,nam){age=a;} void show() { display(); coutage:ageendl;} private: int age;}; 5.5.3 多

文档评论(0)

1亿VIP精品文档

相关文档