首页 > 其他 > 详细

多级派生情况下派生类的构造函数

时间:2014-07-10 11:22:40      阅读:333      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include<string>
using namespace std;
class Student//声明基类
{
public://公用部分
   Student(int n, string nam)//基类构造函数
   {
      num=n;
      name=nam;
   }
   void display( )//输出基类数据成员
   {
      cout<<"num:"<<num<<endl;
      cout<<"name:"<<name<<endl;
   }
protected://保护部分
   int num;//基类有两个数据成员
   string name;
};
class Student1: public Student//声明公用派生类Student1
{
public:
   Student1(int n,char nam[10],int a):Student(n,nam)//派生类构造函数
   {age=a;}//在此处只对派生类新增的数据成员初始化
   void show( ) //输出num,name和age
   {
      display( ); //输出num和name
      cout<<"age: "<<age<<endl;
   }
private://派生类的私有数据
   int age; //增加一个数据成员
};
class Student2:public Student1 //声明间接公用派生类Student2
{
public://下面是间接派生类构造函数
   Student2(int n, string nam,int a,int s):Student1(n,nam,a) {score=s;}
   void show_all( ) //输出全部数据成员
   {
      show( ); //输出num和name
      cout<<"score:"<<score<<endl; //输出age
   }
private:
   int score; //增加一个数据成员
};
int main( )
{
   Student2 stud(10010,"Li",17,89);
   stud.show_all( ); //输出学生的全部数据
   return 0;
}

 

多级派生情况下派生类的构造函数,布布扣,bubuko.com

多级派生情况下派生类的构造函数

原文:http://www.cnblogs.com/linkong1081/p/3812066.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!