C++ 类的继承1

这篇博客探讨了C++中的继承限定词,包括public、protected和private继承,以及它们如何影响基类成员在派生类中的访问权限。同时,文章详细解释了继承构造函数的调用顺序,展示了一个从基类到子类的构造函数调用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、继承限定词

#include <iostream>
using namespace std;
class stux//基类 父类
{
private:
    void funx()
    {
        cout << "funx" << endl;
    }
protected:
    void funx1()
    {
        cout << "funx1" << endl;
    }
public:
    void funx2()
    {
        cout << "funx2" << endl;
    }
};

class stu:public stux//派生类 子类,在父类中如何,则在子类中就如何
{
public:
    int a;
    void fun()
    {
        cout<<"fun" << endl;
    }
};
class stu1 :protected stux//派生类 子类,将父类中继承过来的public转为protected,其他不变。
{//注,父类的成员权限不变,只改变子类中的权限。
public:
    int a;
    void fun()
    {
        cout << "fun" << endl;
    }
};

class stu1 :private stux//派生类 子类,将父类中继承过来的public、protected转为private。
{//注,父类的成员权限不变,只改变子类中的权限。
public:
    int a;
    void fun()
    {
        cout << "fun" << endl;
    }
};

//class stu1:public stux
//{
//public:
//    void fun1()
//    {
//        cout << "fun1" << endl;
//    }
//};
//class stu2:public stux
//{
//public:
//    void fun2()
//    {
//        cout << "fun2" << endl;
//    }
//};

int main()
{
    stu db;
    db.funx();
    
    /*stu2 db1;
    db1.funx();*/

    system("pause");
    return 0;
}

2、继承构造函数的调用顺序

#include <iostream>
using namespace std;
class stux//基类 父类
{

public:
    stux()
    {
        cout << "stux" << endl;
    }
};

class stu:public stux
{
public:
     stu()
    {
        cout<<"stu" << endl;
    }
};
class stu1 :public stu
{
public:
    stu1()
    {
        cout << "stu1" << endl;
    }
};

int main()
{
    //stu db;
    stu1 db1;//继承构造的调用顺序是先调用父类,再调用子类,依次往下调用。
    system("pause");
    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clown_30

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值