c++
文章平均质量分 60
快乐的学
daydr
这个作者很懒,什么都没留下…
展开
-
说重点:纯虚函数和抽象类的相关内容
基类往往用于一些抽象的概念。就是说仅说明一个公共界面,而有派生类提供各自的实现版本。在这种情况下,基类的有些函数没有定义是很正常的,但要求派生类必须重新定义这些虚函数,以使派生类有意义。为此,C++i引用了纯虚函数的概念。一个具备纯虚函数的基类称为抽象类。抽象类机制支持一般概念的表示,也用于定义接口。纯虚函数纯虚函数是基类说明的虚函数,他在该基类之中没有实现定义,要求所以派生类都必须定义自己的版本。纯虚函数的说明形式如下:virtual 类型 函数名(参数表)=0;赋值为0,是表示没有实现定义。原创 2021-12-15 14:26:33 · 837 阅读 · 2 评论 -
速学虚函数和基类指针
之前我们就讲过什么叫虚函数,只要有关键字virtual的成员函数就是虚函数。基类指针不需要类型转化就可以指向派生类的指针。但是!基类指针虽然可以获取派生类对象的地址,却只能访问派生类从基类那边继承的成员。这就很可怜了,说到底,基类只能访问属于自己的成员函数,不管它在那个派生类里。下面,我们来举个例子...原创 2021-12-13 13:27:39 · 431 阅读 · 0 评论 -
快速突破 基类,派生类指针
派生类是基类的变种。所以基类指针引用派生类是安全的。当基类指针指向派生类的对象的时候,只能引用基类成员。如果像引用派生类中的特有成员,则必须把基类指针转化成派生类指针。...原创 2021-12-11 20:36:58 · 608 阅读 · 0 评论 -
快速突破虚函数 之静态联编与动态联编
首先我们需要明白什么是连编,联编是指代码,程序模块之间相互广联的的过程。联编,联编,联系编程代码与程序模块。根据联编的时机,可以分为静态联编和动态联编。时机?那便是程序运行前和运行进行的两个时间段。静态联编,一看到那个静,就知道它不喜欢动,那就是不喜欢程序运行时候咯呗,所以静态联编是将所有的“准备工作”再运行前就完成了。举个例子:调用一个已经说明了的函数,编译期间就能获得函数的入口地址,返回地址和参数传递地址。动态联编,咦,有一个“动”,和静相反,显而易见,他是再程序运行期间的时候运行的,所以江湖人原创 2021-12-10 18:46:55 · 251 阅读 · 0 评论 -
C++基础 虚继承
c++之中一个类不能被多次说明为一个派生类的直接基类,但可以多次成为间接基类。一 非虚继承类例子:class B{ public: int x.....}class A1:public B{ .....}class A2:public B{ ......}class D:public A1,public A2{ ......}可以看出,D类继承了A1和A2,而A1和A2继承了B ,也就是说D类有两个B类的成员副本,所以称B是非虚原创 2021-12-09 18:46:42 · 448 阅读 · 0 评论 -
c++基础 基类的初始化以及多继承和虚继承
通过派生类的构造函数将指定的参数传递给基类的带参数的构造函数,从而初始化派生类从基类继承的数据成员。派生类的构造函数使用冒号语法的参数初始化实现这种功能。构造函数名(变元表):基类(变元表),数据成员(变元表)。。。上面就是使用它的结构。构造函数也有一个执行顺序,首先是基类,其次是派生类。因为派生类对象的创建以基类为先决条件。可是在执行析构函数的时候却是相反的。下面来个代码。上图#include<iostream>using namespace std;class B{原创 2021-12-09 17:34:45 · 1360 阅读 · 1 评论 -
C++基础(2)保护继承,访问声明,//重名成员
hello!各位亲爱的大爷和大妈们,我上线了,从你们激动的眼神之中我看的出你们对我的爱,果然我很受欢迎。 d废话不多说,开学。之前讲解国private继承,不知道的快去查查,那么那个一直在我们眼前晃的protected到底是啥,这玩意叫保护继承。它把基类的其他两个成员进行保护,如果那个派生类的二愣子来调用public和private,那么protected就让这俩货直接在派生类内被屏蔽。哎,不让你用,难不难受。啥叫访问声明,c++...原创 2021-12-07 23:29:58 · 443 阅读 · 1 评论 -
c++继承 (1)基础+私有继承
在面向对象之中,类与类之间有三个最主要的关系:has_a,uses_a,is_a。其中has_a表示包含关系,一个类有多个“部件类”组成,举个例子,一个汽车的组成包括轮胎,汽车的外壳,引擎等部分。这些东西是已经固定的,是可以再次使用的,而这些东西组成了一辆汽车。这时候,我们就想,那么汽车的轮胎我可不可以换成其他的,比如其他牌子的,uses_a便有这部分的功能,uses_a表示一了类部分的使用另一个类。而is_a表示的便更加容易理解,它表示的是一种分类的形式。直接上图。d想上面这个图一样,is_a关.原创 2021-12-06 23:17:25 · 854 阅读 · 0 评论