首先看下下面这个例子:class Base{private: int x;public: virtual void mf1() = 0; virtual void mf2(); void mf3(); ...};class Derived : public Base{p...
分类:
其他好文 时间:
2015-10-18 18:17:30
阅读次数:
173
首先看一下private继承的法则:class之间的继承关系如果是private的话,那么编译器不会将一个derived对象自动当作为一个base class对象。从base class继承而来的所有方法以及属性,在derived class都会变成是private的。private继承的底层含义实...
分类:
其他好文 时间:
2015-10-18 18:07:27
阅读次数:
159
首先是C++提供的四种转型操作:1. const_cast:常量性的转除。2. dynamic_cast:安全的向derived class进行转型,可能会带来很高的开销3. reinterpret_cast:低级转型,例如可讲pointer转成int,不建议使用4. static_cast: 强迫...
分类:
其他好文 时间:
2015-10-10 17:21:10
阅读次数:
234
我们知道,在类内的access specifier public 、protected、private都只是为了限定用户程序对类内的访问权限,而在继承list中的access specifier则是影响使用该derived类的用户对该类内的访问权限。public继承延续base部分的access s...
分类:
其他好文 时间:
2015-10-08 16:34:49
阅读次数:
223
protected成员变量的封装性并非高于public变量。如果有个public的成员变量,一旦其需要改变,那么所有使用它的代码都需要改变。如果有个protected的成员变量,一点其需要改变,那么所有的继承自他的derived class都需要重新改变。这与上面孰轻孰重其实不重要所以说,往往只有两...
分类:
其他好文 时间:
2015-10-07 15:57:51
阅读次数:
131
在构造以及析构函数期间不要调用virtual函数,因为这类调用从不下降到derived class中。例如说下面这个例子: 1 class Transaction{ 2 public: 3 Transaction(); 4 virtual void logTransactions()...
分类:
其他好文 时间:
2015-10-05 12:50:40
阅读次数:
139
转载于:http://www.cnblogs.com/kaige/p/cplusplus_virtual_inheritance_derived_class_constructor.html构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,...
分类:
编程语言 时间:
2015-09-30 16:16:12
阅读次数:
235
其实这个问题最终将回答一个问题:如果Base * pbase = new Derived;那么如果delete pbase的话,怎样避免内存泄露?对比1:父类的普通成员函数和虚函数均是非虚函数来看看这时候会发生什么,具体代码和运行结果如下:#include using namespace std;....
分类:
其他好文 时间:
2015-09-28 16:10:03
阅读次数:
215
NOTE: 1.接口继承和实现继承不同。在public继承之下,derived classes总是继承base class的接口。 2.pure virtual 函数只具体指定接口继承及缺省实现继承。 3.impure virtual 函数具体指定接口继承及缺省实现继承。 4.non...
分类:
其他好文 时间:
2015-09-19 10:47:55
阅读次数:
147
Values子句不仅能为Insert into子句提供插入的数据源,而且还能作为From子句和Merge中的Using的数据源。1,Specifying multiple values as a derived table in a FROM clause.SELECT a, b FROM (VAL...
分类:
数据库 时间:
2015-09-18 20:32:27
阅读次数:
277