继承是面向对象的三大特性之一。子类:继承方式 父类
为淮南等地区用户提供了全套网页设计制作服务,及淮南网站建设行业解决方案。主营业务为成都网站建设、网站设计、淮南网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!一、继承方式
1、公共继承
2、保护继承
3、私有继承
继承过来后,成员属性的变化,变化后要注意实例化对象是否能访问:
父类的私有成员,子类都访问不了,但是都隐藏继承到子类的对象上;公共继承父类除私有成员其它成员在子类中访问权限不变;其它继承方式继承父类除去私有成员其它成员访问权限变成与继承方式一样。
二、继承中的对象模型
继承过来的成员,哪些属于子类的对象:不管什么继承方式都在子类的对象上,父类的私有成员只是被编译器隐藏了,但是还是在子类的对象上
利用开发人员命令提示工具可以看到单个对象的布局:
三、继承中构造和析构函数的调用顺序
先调用父类构造,再子类构造,然后就是子类析构,父类析构。
四、继承中同名的成员处理方式
同名成员属性:
1、访问子类中该同名成员,直接调用就好
2、调用父类中该同名成员,加作用域调用
同名的成员函数:
如果子类中出现了和父类同名的成员函数,子类的同名成员会隐藏掉父类所有同名成员函数(包括重载)
想访问到父类中被隐藏的同名成员函数,需要加作用域。
五、继承静态成员的处理方式
复习回忆一下静态成员属性和静态成员函数的特点
1、静态同名,与上述处理方式相同
2、注意:但是可以通过类名访问静态成员:
六、多继承语法
c++允许一个类继承多个父类
1、语法:class 子类:继承方式 父类1,继承方式 父类2......
多继承会引发父类中有同名成员的出现,需要加作用域区分。实际开发中不建议使用多继承。
七、菱形继承问题及解决办法
但是我们最终的数据只用要一份,因此需要用虚继承解决这个问题。此时的共同父类叫做虚基类。是因为这样通过虚基类指针指向虚基类表
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧