#include <iostream>
//构造函数 是一种特殊类型的方法 他每次在实例化对象运行
//c++必须手动初始化所有基本类型
class Entity
{
public:
float x,y;
//原始方案
// void Init()
// {
// x=0.0f;
// y=0.0f;
// }
//构造函数名字必须和函数名相同 由系统自动调用,每个函数默认有一个构造函数
//默认的: Entity(){}
//不带参数的构造
// Entity()
// {
// x=0.0f;
// y=0.0f;
// }
//带参数 实例data传参数X,Y
Entity(float X,float Y)
{
x=X;
y=Y;
}
void Print()
{
std::cout<<x<<","<<y<<std::endl;
}
};
class Log
{
private:
//Log(){}//方法一:无法实例化对象Log d
public:
Log()=delete;//方法二
static void Write()
{
std::cout<<"111"<<std::endl;
}
};
int main()
{
//Entity e;
Entity e(1.0f,2.0f);
//初始化 这样你会发现,每构造一个对象都要调用一次这个函数,太累赘,因此有了构造函数
//e.Init();
e.Print();
std::cout<<e.x<<","<<e. y<<std::endl;//如果没有初始化,会 警告没有初始化
Log::Write();
//不想有构造功能
//Log d;
std::cin.get();
}
构造函数删除有两个方法
private:
//Log(){}//方法一:无法实例化对象Log d
public:
Log()=delete;//方法二