C++派生类构造函数实战

一 代码

#include<iostream>
#include<string>
using namespace std;
class CStudent{//声明基类Student
public:
   CStudent(int n,string nam,char s){//基类构造函数
      num=n;
      name=nam;
      sex=s;
   }
   ~CStudent(){} //基类析构函数
protected: //保护部分
   int num;
   string name;
   char sex ;
};
class CStudent1: public CStudent{//声明派生类Student1
public : //派生类的公用部分
   CStudent1 (int n,string nam,char s,int a,string ad): CStudent (n,nam,s){//派生类构造函数
      age=a; //在函数体中只对派生类新增的数据成员初始化
      addr=ad;
   }
   void show(){
      cout<<"num: "<<num<<endl;
      cout<<"name: "<<name<<endl;
      cout<<"sex: "<<sex<<endl;
      cout<<"age: "<<age<<endl;
      cout<<"address: "<<addr<<endl<<endl;
   }
   ~CStudent1(){ } //派生类析构函数
private : //派生类的私有部分
   int age;
   string addr;
};
int main(){
   CStudent1 stud1(10010,"Wang-li",'f',19,"115 Beijing Road,Shanghai");
   CStudent1 stud2(10011,"Zhang-fun",'m',21,"213 Shanghai Road,Beijing");
   stud1.show(); //输出第一个学生的数据
   stud2.show(); //输出第二个学生的数据
   return 0;
}

二 运行

[root@localhost charpter02]# g++ 0226.cpp -o 0226
[root@localhost charpter02]# ./0226
num: 10010
name: Wang-li
sex: f
age: 19
address: 115 Beijing Road,Shanghai

num: 10011
name: Zhang-fun
sex: m
age: 21
address: 213 Shanghai Road,Beijing

三 说明

实战中,类CStudent1继承了CStudent。类CStudent1比基类新增了两个数据成员。基类CStudent有自己带参构造函数,而派生类的构造函数,只须对派生类新增数据成员初始化,不过需要把基类的参数也给带进去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值