构造函数通常用来做类的初始化作用,它在类实例化时自动被调用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Entity
{
public:
float X, Y;
// Entity(){} // 每一个类都有一个默认构造函数,当一个类没有任何构造函数时,编译器会为我们生成一个默认构造函数
Entity() = default; // 当你有其他构造函数时,则编译器不会生成默认构造函数,但你可以显示要求编译器生成默认构造函数
// 构造函数可以有参数
Entity(float x, float y)
{
X = x, Y = y;
}
void Print()
{
std::cout << X << "," << Y << std::endl;
}
};
|
有时候我们需要隐藏构造函数,不允许对类进行实例化
1
2
3
4
5
6
7
8
9
|
class Log
{
private:
Log() {} // 第一种方法,直接私有化构造函数
public:
Log() = delete; // 第二种方法,显示要求编译器删除这个构造函数
static void Write() {}
};
|
- 构造函数通常用来做类的初始化作用,它在类实例化时自动被调用。