条款13:以对象管理资源
使用RAII,获得资源后立刻放进管理对象,管理对象运用析构函数确保资源被释放。
为防止资源泄露,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源。
两个常被使用的RAII类是tr1::shared_ptr和tr1::auto_ptr。前者通常是较佳选择,因为其拷贝行为比较直观。若选择auto_ptr,复制动作会使被复制物指向null.
条款14...
分类:
编程语言 时间:
2014-08-22 16:22:49
阅读次数:
250
??
1.拷贝构造
//拷贝构造的规则,有两种方式实现初始化。
//1、一个是通过在后面:a(x),b(y)的方式实现初始化。
//2、第二种初始化的方式是直接在构造方法里面实现初始化。
案例如下:
#include
//如果声明已经定义,边不会生成
class classA
{
private:
int a;
int b;
public:
//拷贝构造...
分类:
其他好文 时间:
2014-08-21 22:48:25
阅读次数:
355
8.4 Exceptions 异常 用异常通知程序的其他部分,发生了不可忽略的错误 只在真正例外的情况下才抛出异常 不能用异常来推卸责任 避免在构造函数和析构函数中抛出异常,除非你在同一地方把它们捕获 在恰当的抽象层次抛出异常 在异常消息中加入关于导致异常发生的全部信息 避免使用...
分类:
其他好文 时间:
2014-08-21 13:07:34
阅读次数:
224
Typedefint(*healthcalcfunc)(constgamecharacter&)当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。因此,在子类从新声明该虚函数时,可以加,也可以不加,但习惯上每一层声明函数时都加virtual,使程序更加清晰。友元函数构造函数sta...
分类:
其他好文 时间:
2014-08-20 19:30:42
阅读次数:
210
类的构造函数Python类的构造函数是__init__,它与其它函数的区别,首先是通过前面和后面带两个双下划线来跟别的函数名称进行区分。它的格式如下:def __init__(self, 参数列表):def是定义函数的关键字,__init__是构造函数的名称,self是类本身的参数,用来区分那些函数是属于类。最后的参数列表是可有可无的。构造函数主要用来初始化成员变量和分配资源,它是一个类旦生后立即...
分类:
其他好文 时间:
2014-08-20 14:13:12
阅读次数:
194
C++允许模版化类中的单个方法,这些方法可以在一个类模版中,也可以在一个非模版化的类中。
在编写一个模版化的类方法时,实际上是为不同类型编写不同版本的方法,在类模版中,方法模版对赋值运算符和复制构造函数非常有用。
要注意的是,不能用方法模版编写虚方法和析构函数。
1.一个普通类中的方法模版例子:
#include
using namespace std;
class man{
priva...
分类:
编程语言 时间:
2014-08-20 12:39:22
阅读次数:
261
使用析构函数释放资源析构函数用于析构类的实例。1)不能在结构中定义析构函数。只能对类使用析构函数。2)一个类只能有一个析构函数。3)无法继承或重载析构函数。4)无法调用析构函数。它们是被自动调用的。5)析构函数既没有修饰符,也没有参数。例如,下面是类Car的析构函数的声明:[csharp]view ...
分类:
其他好文 时间:
2014-08-19 16:00:14
阅读次数:
293
Php面向对象学习笔记 – 构造、析构、对象赋值、克隆
class student
{
public $stu_id; // 定义成员变量
public $stu_name;
public function sayName() // 成员函数
{
echo...
分类:
Web程序 时间:
2014-08-18 18:41:02
阅读次数:
219
啥是POD类型?POD全称Plain Old Data。通俗的讲,一个类或结构体通过二进制拷贝后还能保持其数据不变,那么它就是一个POD类型。平凡的定义1.有平凡的构造函数2.有平凡的拷贝构造函数3.有平凡的移动构造函数4.有平凡的拷贝赋值运算符5.有平凡的移动赋值运算符6.有平凡的析构函数7.不能...
分类:
编程语言 时间:
2014-08-18 01:30:43
阅读次数:
309
笔记来自《C#图解教程》
每个.cs文件至少需要包含一个和文件名相同的类
析构函数:执行在类的实例被销毁之前需要的清理或释放非托管资料的行为。
每个类只能有一个析构函数;
不能带参数;
不能带访问修饰符。
虚方法/覆写方法(需要在派生类中重写基类的某些方法时)
virtual/override
访问修饰符:
public完全公开
private类内部(默认)
...
分类:
其他好文 时间:
2014-08-17 22:51:55
阅读次数:
381