构造函数
和java的构造函数大同小异
class Entity
{
public:
Entity() {
std::cout << "构造函数执行" << std::endl;
}
float X, Y;
void Print()
{
std::cout << X << "," << Y << std::endl;
}
};
int main()
{
Entity e;
e.Print();
std::cin.get();
}
析构函数
析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个~符号。
class Entity
{
public:
Entity() {
std::cout << "构造函数执行" << std::endl;
}
float X, Y;
void Print()
{
std::cout << X << "," << Y << std::endl;
}
~Entity(){
std::cout << "析构函数执行" << std::endl;
//可以做一些数据的delete操作
}
};
//方法运行在栈空间,执行之后出栈
void Function()
{
Entity e;
e.Print();
}
int main()
{
//析构函数在函数销毁的时候执行
Function();
std::cin.get();
}