码迷,mamicode.com
首页 >  
搜索关键字:析构函数    ( 1864个结果
剑指offer (48) c++实现一个不能被继承的类
题目:用c++实现一个不能被继承的类题解分析:常规解法:首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函...
分类:编程语言   时间:2014-07-10 00:20:08    阅读次数:357
effective c++ 条款6 如果不想要就要告诉大家
这个条款应该和第五个放在一起编译器默认生成1 无参构造函数,2 析构函数3 拷贝构造函数4 赋值预算符当我们不需要,就要显示的告诉大家我们不需要。方法:自己声明这个函数为private,单不要定义它。原因:1 自己声明这个函数,编译器就不会为我们生成这个函数 2 声明成private,就不会被...
分类:编程语言   时间:2014-07-07 13:33:21    阅读次数:232
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
关注C++细节——含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、赋值运算符的例子
本例只是对含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解。 读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码。 第一版: #include #include using namespace std; class TreeNode{ private: stri...
分类:编程语言   时间:2014-06-28 07:13:13    阅读次数:296
C# 结构体
对于结构 1)可以有方法与属性2)是密封的,不能被继承,或继承其他结构3)结构隐式地继承自System.ValueType4)结构有默认的无参数构造函数,可以将每个字段初始化为默认值,但这个默认的构造函数不能被替换,即使重载了带参数的构造函数5)结构没有析构函数6)除了const成员外,结构的字段不...
分类:其他好文   时间:2014-06-27 20:47:05    阅读次数:217
有了malloc/free为什么还要new/delete ?
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/fr....
分类:其他好文   时间:2014-06-25 15:23:39    阅读次数:210
编写类String 的构造函数、析构函数和赋值函数
编写类String 的构造函数、析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String &other); // 拷贝构造函数~ String(v...
分类:其他好文   时间:2014-06-22 23:31:22    阅读次数:212
STL vector的构造函数和析构函数(2)
public member function std::vector::vector C++98 C++11 default (1) explicit vector (const allocator_type& alloc = allocator_type()); fill (2) explicit vec...
分类:其他好文   时间:2014-06-22 07:02:06    阅读次数:386
c++派生类构造函数
在派生的过程中,构造函数和析构函数是不继承的,因此在初始化时,派生类的构造函数就必须完成基类的私有变量初始化。解决问题的思路,在派生类调用基类的构造函数执行派生类构造函数的顺序是:调用基类构造函数,对基类数据成员初始化;调用子对象构造函数,对子对象数据成员初始化;再执行派生类构造函数本身,对派生类数...
分类:编程语言   时间:2014-06-21 09:22:42    阅读次数:252
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!