标签:
静态成员函数
声明时包含关键字static。注意以下两点:
1、使用静态成员函数时不能通过对象或者this指针来调用,只能使用类名+作用域解析符来调用。
2、静态成员函数只能使用静态成员。
new操作符
在使用
#include <new>
之后,new操作符可以在分配内存时指定内存位置。例如:
1 //创建一个512字节的内存缓冲区 2 char *buffer = new char[512]; 3 ClassName *ptr1, *ptr2; 4 5 //在buffer缓冲区中创建一个类对象 6 ptr1 = new (buffer) ClassName; 7 //在堆中创建一个类对象 8 ptr2 = new ClassName; 9 10 delete ptr1; 11 delete [] buffer;
delete ptr1调用了类的析构函数,而delete [] buffer只删除了buffer缓冲区,没有调用类的析构函数。这时候一个可行的方案是在释放buffer前显示调用析构函数。
嵌套
C++允许在类中包含结构、类和枚举定义。
这些类型的作用域是整个类。
这种声明不会创建数据对象,只是指定了在类的作用域中可以使用这种类型。
成员初始化句法
1、只能用于构造函数。
2、非静态的const成员必须这样初始化。
3、引用数据成员必须这样初始化。
格式如下:
ClassName::ClassName(int n):mem1(n), mem2(0), mem3(null) { //construct.... }
冒号后面mem1,mem2,mem3都是ClassName的数据成员,初始化的顺序与它们在类声明中的顺序一致。
标签:
原文地址:http://www.cnblogs.com/DeathKnightH/p/5466248.html