栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

笔记:关于C++继承

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

笔记:关于C++继承

1.单继承
继承权限
C++继承中包含三种继承方式:public protected private
继承方式代表父类中的属性在子类中最低权限
例:若子类继承方式是protected,子类从父类中继承的public属性都将转为protected属性;若子类继承方式是private,子类从父类中继承的public属性和 protecte属性都将转为private属性;

class Father
{
   public:
   Father(string name,int age) :name(name),age(age){}
   void print()
   {
       cout<<"father:"<
   public:
   Son(string name,int age):Father(name,age){}
   void print_son()
   {
      cout<<"son:"<
    Son myson("张三",18);
    myson.print_son();//可以输出因为继承了父类name和age属性
    myson.print()//报错 因为print()继承为protected属性无法外部调用,解决办法:改为public继承
}

构造函数与析构函数
子类构造函数必须调用父类构造函数,在子类运行构造函数之前先运行父类构造函数;
在终结对象时,先析构子类再析构父类

class Father
{
   public:
   Father(string name,int age) :name(name),age(age)
   {
      cout<<"Fatherget!";
   }
   ~Father()
   {
      cout<<"Fatherout!";
   }
   void print()
   {
       cout<<"father:"<
   public:
   //构造子类时必须调用父类构造函数为继承来的属性赋初值
   Son(string name,int age,string girlfriend_name):Father(name,age),girlfriend_name(girlfriend_name)
   {
        cout<<"Songet!";
   }
   ~Son()
   {
      cout<<"Sonout!";
   }
   void print_son()
   {
      cout<<"son:"<
    {Son myson("张三",18,"小芳");}
    //输出结果:Fatherget!Songet!Sonout!Fatherout!
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011538.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号