336 字
2 分钟
C++入门 (九) : 构造函数
构造函数是一种特殊类型的方法,它在每次实例化对象时运行.

原因:我们实例化 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++中必须手动初始化所有的基本类型,不然它们会被设置为之前留存在内存中的值
构造函数重载
可以写很多个同名构造函数,但是提供不同的参数

隐藏构造函数
如果我只想让别人调用类的静态方法,而不允许它创建类实例,有以下两种方法
- private隐藏构造函数
class Log{private: Log(){}public: static void Write() { }};
int main(){ Log::Write(); Log l;}- delete
Log() = delete;删除默认构造函数
C++入门 (九) : 构造函数
https://dingfengbo.vercel.app/posts/c入门/09-c构造函数/