美文网首页我爱编程
找不到工作的人还在学习(c++4)

找不到工作的人还在学习(c++4)

作者: Nicoyupei | 来源:发表于2018-04-14 20:54 被阅读0次

继承与接口

整个c++程序设计全面围绕面向对象的方式进行。类的继承特性是c++的一个非常重要的机制。继承特性可以使一个新类获得其父类的操作和数据结构,程序员只需在新类中增加原有类中没有的成分。

一旦成功定义派生类,那么派生类就可以操作基类的所有数据成员,包括受保护型的,甚至我们可以在构造派生类对象的时候初始化它们,但我们不推荐这么做,因为类与类之间的操作是通过接口进行沟通的,为了不破坏类的这种封装特性,即使是父类与子类的操作也应遵循这个思想。这么做的好处

一、继承

派生类的3种继承方式小结如下:

公有继承(public)、私有继承(private)、保护继承(protected)是常用的3中继承方式。

1、公有继承方式

基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员可见,其他成员不可见。这里保护成员与私有成员相同。

基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员可见,基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态;基类的私有成员不可见,基类的私有成员仍然是私有的,派生类不可访问基类中的私有成员。

基类成员对派生类对象的可见性对派生类对象来说,基类的公有成员时可见的,其他成员是不可见的。

所以,在公有继承时,派生类的对象可以访问基类中的公有成员,派生类的成员函数可以访问基类中的公有成员和保护成员。

2、私有继承

基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员可见,其他成员不可见。

基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员是可见的,基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这歌派生类的子类访问;基类的私有成员是不可见的,派生类不可访问基类中的私有成员。

基类成员对派生类对象可见性对派生类对象来说,基类的所有成员都是不可见的。

所以,在私有继承时,基类的成员只能由直接派生类访问,而无法再往下继承。

3、保护继承方式

这种继承方式与私有继承方式的情况相同。两者的区别仅在于对派生类的成员而言,基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员可见,其他成员不可见。

基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员是可见的,基类的公有成员和保护成员都作为派生类的保护成员,并且不能被这歌派生类的子类的对象所访问,但可以被派生类的子类所访问;基类的私有成员是不可见的,派生类不可访问基类中的私有成员。

基类成员对派生类对象的可见性对派生类来说,基类的所有成员都是不可见的。

访问规则

2、多重继承

1、请评价多重继承的优点和缺陷。

多重继承在语言上并没有什么很重要的问题,但是标准本身只对语义做了规定,而对编译器的细节没有做规定。所以在使用时(即使是继承),最好不要对内存布局等有什么假设。此类的问题还有虚析构函数等。为了避免由此带来的复杂性,通常推荐使用复合。但是,在《C++设计新思维》一书中对多重继承和模板有极为精彩的运用。

(1)多重继承本身并没有问题,如果运用得当可以收到事半功倍的效果。不过大多数系统的类层次往往有一个公共的基类,就像MFC中的Cobject,Java中的Object


相关文章

  • 找不到工作的人还在学习(c++4)

    继承与接口 整个c++程序设计全面围绕面向对象的方式进行。类的继承特性是c++的一个非常重要的机制。继承特性可以使...

  • 找不到工作的人还在学习(c++)

    一、程序设计基础概念 1、在c++程序中调用被c编译器编译后的函数,为什么要加extern “C”? c++语言支...

  • 找不到工作的人还在学习(c++2)

    一、指针与引用 1、指针和引用的差别 (1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某...

  • 找不到工作的人还在学习(c++3)

    一、循环、递归与概率 1、递归基础知识 一个过程或函数直接调用自己本身或通过其他的过程或函数语句间接地调用自己的过...

  • 2019-08-19

    还在因找工作而焦虑吗? 还在为找不到客...

  • 面试经历和面试题0

    呵呵呵,说出来丢人,我特么到现在还在面试。不过,真正的猛士敢于面对惨淡的人生,找不到工作就是找不到,不敢面对也是怂...

  • 写给2017

    1 坚持写作,不论发生什么都不放弃2 优秀地完成毕业设计3 学好c++4 英语考雅思5 坚持运动,学习瑜伽,完成1...

  • 郑州培训—郑州电商新媒体培训

    文|青云学校 还在为找不到工作而发愁吗? 还在为没有营销业绩而焦虑吗? 还在为工作多年没有升职加薪而懊恼吗? 青云...

  • 读书

    读书是那些找不到工作的人读的,有工作的人可以早点出来做事,不用读毕业了,大学毕业找不到工作去读硕士,硕士找不到工作...

  • 郑州培训—郑州UI培训

    文|青云学校 还在为找不到工作而发愁吗? 还在为没有实战技能而焦虑吗? 还在为工作多年没有升职加薪而懊恼吗? 青云...

网友评论

    本文标题:找不到工作的人还在学习(c++4)

    本文链接:https://www.haomeiwen.com/subject/ogqtkftx.html