【创建C++对象】
当创建一个C++对象时,会发生2件事情:
1. 为对象分配内存
1) 在静态存储区分配,存储空间在程序开始之前就分配好了,这块内存在程序的整个运行期间都在。静态存储区主要保存全局变量,静态变量,常量。
2) 在栈上。写程序的时候,必须知道需要多少个存储单元,生命周期是距离最近的一对大括号{ },自动调用构造函数和析构函数。使用 '.' 点运算符来引用成员。
3) 在堆上。这是动态内存分配的方式,由程序员来决定分配多少内存,以及何时释放内存。使用 -> 运算符来引用成员。
int size = 5;
//int mem[size]; //Must have a constant value
int* mem = new int[size];
2. 调用构造函数来初始化这块内存
下面重点说说2)和3)两种创建对象的方法。类Rec有2个int型成员变量。
class Rec
{
public:
Rec(int width, int height)
{
m_width = width;
m_height = height;
}
~Rec(){};
int GetArea()
{
return m_width * m_height;
};
private:
int m_width;
int m_height;
};
用两种创建方法分别创建2个Rec对象。
Rec r(2, 5);
Rec* pr =