码迷,mamicode.com
首页 >  
搜索关键字:基类指针    ( 183个结果
C++基类指针指向的派生类对象内存的释放
C++由于基类指针可以指向不同的派生类对象,因此当赋予基类指针不同的地址时,要注意之前的派生类对象的内存释放。int main(){ Parent* ptr = new Child1; Child2 myChild2; Child3 myChild3; ptr->show(); delete ptr; //位置1 ptr = &myChild2; ptr->show();...
分类:编程语言   时间:2015-05-27 19:15:40    阅读次数:792
条款7:为多态基类声明virtual析构函数
C++明确指出:当派生类对象是由一个基类指针释放的,而基类中的析构函数不是虚函数,那么结果是未定义的。其实我们执行时其结果就是:只调用最上层基类的析构函数,派生类及其中间基类的析构函数得不到调用。 1 #include 2 3 using namespace std; 4 5 class Ti...
分类:其他好文   时间:2015-05-24 17:01:51    阅读次数:126
单继承下的虚表布局
在C++中,多态表示 “以一个公有基类的指针或引用,寻址出一个派生类对象” 。假如有调用 ptr->get_c() ,其中ptr是基类指针,get_c()是一个虚函数。要在执行期能正确调用get_c()的实例,我们需要知道: 1.ptr所指对象的真正类型,以便我们选择正确的get_c()实例。 .....
分类:其他好文   时间:2015-05-21 18:42:25    阅读次数:127
[百度空间] [转+原]虚析构函数
析构函数何时该时虚拟的? 当你可能通过基类指针删除派生类对象时。 虚函数绑定到对象的类的代码,而不是指针/引用的类。如果基类有虚析构函数,delete basePtr时(译注:即基类指针),*basePtr 的对象类型的析构函数被调用,而不是该指针的类型的析构函数。这通常是一件好事情。以上摘...
分类:其他好文   时间:2015-05-18 20:43:17    阅读次数:125
C++学习笔记——虚函数
基本概念 虚函数是在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为: virtual 函数返回类型 函数名(参数表) {函数体}; C++中用它来实现多态性,通过指向派生类的基类指针或...
分类:编程语言   时间:2015-05-13 13:18:14    阅读次数:216
c++设计模式---代理模式
#include using namespace std; //代理模式中注意代理虽然可以实现某个功能,但是代理并不具备该功能,它的实现是通过调用别人的功能 //至于具体哪个功能,多态中基类指针指派生类对象,指向哪个派生类,就去调用哪个派生类的fun函数 class Base { public :virtual void fun()=0; virtual ~Base(){} ...
分类:编程语言   时间:2015-04-25 15:15:54    阅读次数:162
C++的子类指针指向父类
1,直接用基类指针引用基类对象 2,直接用派生类指针引用派生类对象 3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的, 但是只能引用基类成员。若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。(解决该问题的答案是虚函数和多态性) 4,用派生类指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针,这种方法...
分类:编程语言   时间:2015-04-10 18:08:57    阅读次数:121
c++之虚析构函数
1。虚析构函数: 构造函数不能是虚函数。建立一个派生类对象时,必须从类 层次的根开始,沿着继承路径逐个调用基类的构造函数 析构函数可以是虚的。虚析构函数用于指引 delete 运算符正 确析构动态对象2. 定义了基类虚析构函数,基类指针指向的 派生类动态对象也可以正确地用delete析构...
分类:编程语言   时间:2015-03-13 23:46:06    阅读次数:189
c++之虚函数和基类指针
1.基类指针虽然获取派生类对象地址,却只能访问派生类从基类继承的成员 1 #include 2 using namespace std; 3 4 //通过基类指针只能访问从基类继承的成员 5 class A 6 { 7 public: 8 A(char x) 9 {10 ...
分类:编程语言   时间:2015-03-13 23:45:23    阅读次数:229
c++之类指针的关系
1基类指针和派生类指针与基类对象和派生类对象4种可能匹配: 直接用基类指针引用基类对象; 直接用派生类指针引用派生类对象; 用基类指针引用一个派生类对象; 用派生类指针引用一个基类对象。2.基类指针引用派生类对象例如:A * p ; // 指向类型 A 的对象的指针A A_obj ; // ...
分类:编程语言   时间:2015-03-13 23:40:57    阅读次数:193
183条   上一页 1 ... 12 13 14 15 16 ... 19 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!