码迷,mamicode.com
首页 >  
搜索关键字:derived    ( 340个结果
Effective C++ Item 34 区分接口继承与实现继承
接口继承和实现继承不同。在 public 继承下, derived classes 总是继承 base class 的接口 class Shape{ public: virtual void draw() const = 0; virtual void error(const std::string &msg); int objectID() const; //... }; class Rectangle: public Shape{...}; class Ellipse: public Sha...
分类:编程语言   时间:2014-07-12 23:42:27    阅读次数:251
operator= 复制操作符的意外
首先,看下面的代码的输出时什么: 上述代码做了最理所当然的事,就是将Derived的两个对象进行了交换。但是通过指针进行的赋值输出却不是预期的: 竟然调用的是Base的operator=,也就意味着我们把d2的Base部分赋值给了d1,而现在的d1就是 “一般是自己的derived,一半是d2的Base”的怪物啦!!! 看来编译器没有理会我们的意图,...
分类:其他好文   时间:2014-07-09 12:23:19    阅读次数:194
【深度探索C++对象模型】data语义学
class X{};class Y :public virtual X{};class Z :public virtual X{};class A :public Y, public Z{};void main(){ cout x=0;当Point3D是一个derived class,而在其继...
分类:编程语言   时间:2014-07-06 15:28:39    阅读次数:241
Effective C++:条款37:绝不重新定义继承而来的缺省参数值
由于重新定义继承而来的non-virtual函数是不正确的(见上一个条款),所以这个条款就将问题局限于:绝不重新定义继承一个带有缺省参数值的virtual函数。 (一) virtual函数是动态绑定的,而缺省参数却是静态绑定。  对象的所谓静态类型,是它在程序中被声明时所采用的类型。 你可能会在“调用一个定义于derived class 内的virtual函数”的同时,却使用了ba...
分类:编程语言   时间:2014-07-04 08:23:12    阅读次数:412
effective c++ 条款7 declare virtual destructor for polymophyc base class
这似乎很明显。如果base class的destructor不是virtual,当其derived class作为基类使用,析构的时候derived class的数据成员将不会被销毁。举个例子 我们有个交通工具的类作为基类, 它的析构函数不是virtualclass transportTool{ ....
分类:编程语言   时间:2014-07-01 10:27:30    阅读次数:192
绝不在构造和析构函数中调用 virtual 函数
看下面的这段代码,问 print调用的是基类还是派生类的版本? {CSDN:CODE:410156} 答案是 基类。。。 可能大家会很惊讶,print不是virtual function 吗?为什么不是调用派生类的版本呢? 首先,当定义一个派生类的对象的时候,由于 base class 构造函数的执行更早于 derived class 构造函数,所以当 base cl...
分类:其他好文   时间:2014-06-30 00:48:35    阅读次数:267
Java构造时成员初始化的陷阱
1、首先列出代码       Base.java public class Base { Base() { preProcess(); } void preProcess() {} }       Derived.java public class Derived extends Base { public String whenAmIS...
分类:编程语言   时间:2014-06-26 13:14:44    阅读次数:196
绝不重新定义继承而来的函数的缺省参数值
首先,此处的函数指的是 virtual 函数,为什么不是non-virtual函数呢?是因为在public继承中,non-virtual函数表示派生类是需要继承其接口与其强制实现的。如果你的Derived已经在考虑重写non-virtual函数了,那么你是应该好好审视一下,在此处使用 public继承是否合理了。 因此,本文只讲解virtual函数的缺省参数值,例如下面的代码: {CSDN...
分类:其他好文   时间:2014-06-25 07:33:08    阅读次数:185
【虚】示例代码
三.虚析构#include using namespace std;class Base{public: virtual ~Base(){ cout<<"Base destructor\n"; }};class Derived:public Base{public: Derived(){...
分类:其他好文   时间:2014-06-21 08:53:46    阅读次数:182
Effective C++_笔记_条款09_绝不在构造和析构过程中调用virtual函数
请注意:在构造和析构期间不要调用virtual函数,因为这类调用从不下降至derived class。
分类:编程语言   时间:2014-06-16 13:42:35    阅读次数:349
340条   上一页 1 ... 31 32 33 34 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!