4.3 类构造的存储设计前面已经说明了:类对象可以自动初始化;类能控制成员变量的内存分配。本节进一步讨论一些特殊问题,静态存储和动态存储问题。
4.3.1 类的静态成员在说明定义一个类时,可以使用static关键字指定静态成员(函数和数据)。
静态成员的特征是仅仅建立第一个对象的拷贝,并被该 类的所有对象共享。它改变了每个对象在建立时都必须自己拷贝的情况。
静态成员函数是被一个类中所有对象共享的成员函数,不属于某个特定对象。因此,一般只用于访问静态数据成员或全局变量。
调用静态成员函数,可以在其名字前加类名或对象名,但使用对象名容易令人产生混淆,故不鼓励使用。
[例4.5] 带有静态成员的类的实例EX4_5.CPP
4.3.2 对象的动态存储分配在C++中,通常使用new和delete来动态分配和释放内存。
C++的new的优点是:
(1)、自动计算分配的自动返回指针类型,不必对返回指针进行转换;
(2)、类型大小可不必指定;
(3)、可以用new将分配的对象初始化。
使用的语法格式:
pointer_var=new var_type;
delete pointer_var;
[例4.6] 为对象动态分配存储空间的实例EX4_6.CPP