码迷,mamicode.com
首页 >  
搜索关键字:基类指针    ( 183个结果
虚函数与虚继承小结
虚函数的作用就是实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数;实现方法就是在函数返回值之前加上关键字“virtual”;如下: 输出结果为: 基类A有两个成员函数fn和v_fn,派生类B继承自基类A,同样实现了两个函数,然后在main函数中用A的指针指向B的实例(向上转型 ...
分类:其他好文   时间:2017-05-28 12:30:10    阅读次数:246
抽象类_作为接口
抽象类的意义:为一个类群提供共同的接口(操作),是实现多态的方式,使程序结构清晰,便于理解和维护。 抽象类中应只含有成员函数,不应包含数据成员。 抽象类的基本组成形式: 纯虚函数:virtual 函数原型 =0; 通过纯虚函数,使得基类指针能够确认类具有该函数,从而实现多态。 具有纯虚函数的类成为抽 ...
分类:其他好文   时间:2017-05-22 20:06:26    阅读次数:159
条款7:为多态基类析构函数声明为virtual
基类指针指向子类对象。 子类对象必须位于堆。因此为了避免泄漏内存资源,当指针不使用时,delete掉每一个对象非常重要。但是如果基类的析构函数不声明为virtual。那么指向子类对象的指针delete时,析构掉的成分都是基类的,而子类的成分没有被识别出来,而未被析构掉。这样就造成资源浪费。给基类析构 ...
分类:其他好文   时间:2017-05-22 17:55:02    阅读次数:167
虚继承与虚函数继承
虚继承主要用于菱形 形式的继承形式。 虚继承是为了在多继承的时候避免引发歧义,比如类A有个就是a,B继承了A,C也继承了A,当D多继承B,C时,就会有歧义产生了,所以要使用虚拟继承避免重复拷贝。虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函... ...
分类:其他好文   时间:2017-05-22 15:01:01    阅读次数:151
boost::serialization 用基类指针转存派生类(错误多多,一波三折)
boost::serialization 也支持c++的多态,这样我们就能够通过使用基类的指针来转存派生类, 我们接着上一篇( boost::serialization(2)序列化基类 )的样例来看: 基类和派生类的代码例如以下: class student_info { public: stude ...
分类:其他好文   时间:2017-05-14 13:52:34    阅读次数:245
?dynamic_caast操作符
dynamic_caast操作符,将基类的指针或引用安全的转换为派生类的指针或引用。 原理: 将一个基类对象指针或引用抛到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理 返回值 : 指针的动态转型: -正确执行时,结果为指向目标类对象的指针 -错误执行时,结果为 ...
分类:其他好文   时间:2017-05-09 13:55:06    阅读次数:138
C++笔记(4):继承和多态实例总结
继承与多态 1.继承与派生的基础 2.派生类的使用 3.多态 4.抽象类 1.继承与派生的基础 面向对象编程的主要目的之一就是提供可重用的代码。强调可重用性。使用C语言进行编程时,可以使用C标准的各种函数。C++提供更高层次的重用,如类库。通过继承可以完成以下工作:1.可以获得已有类的各种功能。2. ...
分类:编程语言   时间:2017-05-07 01:03:59    阅读次数:162
当this指针成为指向之类的基类指针时,也能形成多态
this指针: 1)对象中没有函数,只有成员变量 2)对象调用函数,通过this指针告诉函数是哪个对象自己谁。 2 多态: [将子类对象的指针赋值给基类类型的指针],通过虚函数形成多态, 虚函数的调用是通过虚函数表指针来实现的, 下面这段话来源于:http://www.cnblogs.com/csw ...
分类:其他好文   时间:2017-04-20 23:57:18    阅读次数:372
基类指针引用派生类对象
#include<iostream>#include<cstring>usingnamespacestd;classA{ charname[20];public: voidput_name(char*n){strcpy_s(name,n);} voidget_name()const{ cout<<name<<endl; };};classB:publicA{ charnum[20];public: voidput_num(char*n){strcpy_s(nu..
分类:其他好文   时间:2017-04-18 20:06:56    阅读次数:144
C++中的类型识别
文章参考“狄泰视频” 在面向对象中可能出现下面的情况: --基类指针指向子类对象 --基类引用,成为子类对象的别名 Base* p = new Derived(); Base& r = *p; 这里涉及动态类型和静态类型; 静态类型:变量(对象)自身的类型 动态类型:指针(引用)所指向的对象的实际类 ...
分类:编程语言   时间:2017-04-08 20:06:32    阅读次数:287
183条   上一页 1 ... 6 7 8 9 10 ... 19 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!