当我们delete一个A* item 类型的指针时,该指针可能是指向A的,也可能指向的是B,C,D中的一个,编译器在delete时必须弄清楚到底应该执行A,B,C,D中哪一个类的析构函数。此时需要编译器进行动态绑定(即只有运行时才能知道到底item 指向的是那个类)。当在基类A中定义的析构函数为虚析...
分类:
编程语言 时间:
2014-11-13 23:55:26
阅读次数:
324
15.26 定义Quote和Bulk_quote的拷贝控制成员,令其与合成的版本行为一致。为这些成员以及其他构造函数添加打印状态的语句,使得我们能够知道正在运行哪个程序。使用这些类编写程序,预测程序将创建和销毁哪些对象。重复实验,不断比较你的预测和实际输出结果是否相同,直到预测完全准确再结束。Quo...
分类:
其他好文 时间:
2014-08-30 20:24:09
阅读次数:
286
继承类的范围,构造函数和拷贝控制
当用派生类执行函数的时候,首先会在当前的类里面找
如果找不到就一级一级地往上找。
Name Lookup Happens at Compile Time
class Quote
{
public:
Quote()=default;
Quote(const string &book, double sales_price)...
分类:
编程语言 时间:
2014-07-26 15:29:42
阅读次数:
542
本例只是对含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解。
读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码。
第一版:
#include
#include
using namespace std;
class TreeNode{
private:
stri...
分类:
编程语言 时间:
2014-06-28 07:13:13
阅读次数:
296