学习日志(十七)

继承与派生

1.继承实质和权限的理解

说明:对于继承:就子类而言:除了构造和析构函数外,父类有什么,子类就有什么【数据成员+成

员函数】

继承方式只会增强父类的属性在子类当中的权限呈现

父类当中私有属性,能被继承,但是不能直接访问(不可访问)

2.继承权限理解区分

/* 此处为父类/

class Person{

private:

string address;

string Id;

protected:

string name;

int age;

public:

string sex;

void print() {

cout << name << "\t" << age <<endl;

}

3.公有继承:

子类的各种限制和父类中各种限制相同

class Malel: public Person{

/*注意继承方式*/

private:

string address;

string Id;

protected:

string name;

int age;

public:

string sex;

void print(){

cout<< name << "\t" << age << endl;

}

};

int main() {

/*创建对象*/

Malel m1;

m1.sex ="男";

/*公有继承可以访问*/

m1.print();

/* 公有继承可以访问*/

return 0;

}

4.保护继承:

父类中公有属性,在子类中呈现为保护属性【其他不变】

class Male2 : protected Person{

/*注意继承方式*/

private:

string address;

string Id;

protected:

string name;

int age; /*注意变化:公有=>保护 */

//public:

string sex;

void print(){

cout << name << "\t" << age << end1;

}

};

int main(){

/* 创建对象 */

Male1 m2;

m2.sex ="男";

m2.print();

/*回顾类知识点的权限问题:

权限是对外的限制,类中无权限可言

如本例中,想要实现访问,可以重新在 public 属性下定义函数取调用父类中的函数/访问成员并返回*/

return 0;

}

5.私有继承:

父类中的非私有属性,在子类中呈现为 私有属性【其他不变】

特点:私有继承:断子绝孙特性

已经是私有继承了,该类再被继承,其子类相当于无可用内容

class Male2: protected Person{

/*注意继承方式*/

private:

string address;

string Id; /*注意变化:保护=>私有*/

//protected:

string name;

int age;

//public: /* 注意变化:公有=> 私有 */

string sex;

void print(){

cout << name << "\t" << age << endl;

}

};

/*如果想要访问,就在父类中提供对应访问内容的接口*/

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务