336 字
2 分钟
C++入门 (九) : 构造函数
2026-03-16

构造函数是一种特殊类型的方法,它在每次实例化对象时运行.

原因:我们实例化 Entity 类并且分配内存的时候,但实际上还没有对内存进行初始化

一般做法

构造函数#

构造函数是一种特殊类型的方法,主要就是用在这里,每当你创造一个对象的时候就会被调用

class Entity
{
public:
float X, Y;
Entity() // 构造函数
{
X = 0.0f;
Y = 0.0f;
}
void Print()
{
std::cout << X << "," << Y << std::endl;
}
};
int main()
{
Entity e;
std::cout << e.X << std::endl; // 0
e.Print(); // 0,0
std::cin.get();
};

默认构造函数#

default construction是默认就有的,大约就像空函数体那样,什么都没做

Entity() // default construction 类似
{
}

没有初始化变量。

C++中必须手动初始化所有的基本类型,不然它们会被设置为之前留存在内存中的值

构造函数重载#

可以写很多个同名构造函数,但是提供不同的参数

隐藏构造函数#

如果我只想让别人调用类的静态方法,而不允许它创建类实例,有以下两种方法

  1. private隐藏构造函数
class Log
{
private:
Log(){}
public:
static void Write()
{
}
};
int main()
{
Log::Write();
Log l;
}
  1. delete
Log() = delete;

删除默认构造函数

C++入门 (九) : 构造函数
https://dingfengbo.vercel.app/posts/c入门/09-c构造函数/
作者
Eureka
发布于
2026-03-16
许可协议
CC BY-NC-SA 4.0