码迷,mamicode.com
首页 >  
搜索关键字:析构    ( 2765个结果
剑指offer (48) c++实现一个不能被继承的类
题目:用c++实现一个不能被继承的类题解分析:常规解法:首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函...
分类:编程语言   时间:2014-07-10 00:20:08    阅读次数:357
剑指offer (49) 字符串转数字
class Test { public: Test() : n2(0), n1(n2 + 2) { } private: int n1; int n2;};调用构造函数之后,n1个n2各为多少?分析:构造函数的初始化顺序仅仅取决于成员变量的声明顺...
分类:其他好文   时间:2014-07-07 23:45:23    阅读次数:196
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
Swift类与结构体
类和结构体有很多共性: 定义属性存储数据 定义方法执行功能处理 定义下标,通过下标访问他们的值 初始化他们的状态 通过扩展(Extension)扩展其功能 遵守协议(Protocol),协议提供一种特定的标准功能类比结构体多出的功能: 能够继承另外一个类 能够核对运行期对象的类型 析构对象释放资源 ...
分类:其他好文   时间:2014-06-28 09:36:16    阅读次数:210
关注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
Swift类与结构体
类和结构体有很多共性:     定义属性存储数据    定义方法执行功能处理    定义下标,通过下标访问他们的值    初始化他们的状态    通过扩展(Extension)扩展其功能    遵守协议(Protocol),协议提供一种特定的标准功能类比结构体多出的功能:    能够继承另外一个类    能够核对运行期对象的类型    析构对象释放资源    引用计数允许一个类实例有多个引用 类和...
分类:其他好文   时间:2014-06-27 10:40:04    阅读次数:159
Boost智能指针-基础篇
简介 内存管理一直是 C++ 一个比较繁琐的问题,而智能指针却可以很好的解决这个问题,在初始化时就已经预定了删除,排解了后顾之忧。1998年修订的第一版C++标准只提供了一种智能指针:std::auto_ptr(现以废弃),它基本上就像是个普通的指针:通过地址来访问一个动态分配的对象。std::auto_ptr之所以被看作是智能指针,是因为它会在析构的时候调用delete操作符来自动释放所包...
分类:其他好文   时间:2014-06-26 12:07:31    阅读次数:328
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!