#include<iostream>
class Entity
{
public:
float X,Y;
void Print(){
std::cout<<X<<" "<<Y<<std::endl;
}
};
int main(){
Entity e;
e.Print();
std::cin.get();
}

输出是随机数,这是因为X,Y并没有初始化,内存中仍是原来的值。
c++ will provide a defalut constructor for us:Log l;
#include<iostream>
class Entity
{
public:
float X,Y;
void Print(){
std::cout<<X<<" "<<Y<<std::endl;
}
};
class Log
{
public:
static void Write(){
}
};
int main(){
Log::Write();
Log l; //c++ will provide a defalut constructor for us
Entity e;
e.Print();
std::cin.get();
}
告诉编译器--》我们不需要default constructor!
Log() = delete;

本文探讨了C++中默认构造函数的行为,特别是当类成员未被显式初始化时,构造函数如何处理。通过实例说明了如果不进行初始化,成员变量将保留随机的内存值。同时,介绍了如何告诉编译器不提供默认构造函数。

被折叠的 条评论
为什么被折叠?



