首页 百科知识 ++继承方式

++继承方式

时间:2023-09-22 百科知识 版权反馈
【摘要】:enum language{cpp, java, python,javascript, php, ruby};本类同样使用上一节中的示例,此时继承方式改为了protected继承,我们再来分析一下codingbook中类成员的属性问题,具体见下表。


基类中所有public成员在派生类中为public属性;

基类中所有protected成员在派生类中为protected属性;

基类中所有private成员在派生类中不可访问。

基类中的所有public成员在派生类中为protected属性;

基类中的所有protected成员在派生类中为protected属性;

基类中的所有private成员在派生类中仍然不可访问。

enum language{cpp, java, python,javascript, php, ruby};


class book

{

public:

    void setprice(double a);

    double getprice()const;

    void settitle(char* a);

    char * gettitle()const;

    void display();

private:

    double price;

    char * title;

};


class codingbook: protected book

{

public :

    void setlang(language lang);

    language getlang(){return lang;}

private:

    language lang;

};

本类同样使用上一节中的示例,此时继承方式改为了protected继承,我们再来分析一下codingbook中类成员的属性问题,具体见下表。

基类中的所有public成员在派生类中均为private属性;

基类中的所有protected成员在派生类中均为private属性;

基类中的所有private成员在派生类中均不可访问。

enum language{cpp, java, python,javascript, php, ruby};


class book

{

public:

    void setprice(double a);

    double getprice()const;

    void settitle(char* a);

    char * gettitle()const;

    void display();

private:

    double price;

    char * title;

};


class codingbook: private book

{

public :

    void setlang(language lang);

    language getlang(){return lang;}

private:

    language lang;

};


免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈