c++11中为我们引入了 =default和=delete;
用法:
一:=default
//.h
class Time
{
public:
int hour;
int minute;
int second;
public:
Time()=default;
};
//或者
//.h
class Time
{
public:
int hour;
int minute;
int second;
public:
Time();
};
//.cpp
Time::Time() = default;
//编译器能够为我们自动生成函数体,一般只适合不带参数的构造函数和一些特殊函数。偷懒{ }
二:=delete
class Time
{
public:
int hour;
int minute;
int second;
public:
Time()=delete;//删除了系统为我们生成的默认构造函数,所以后面的对象是无法声明的
};
//Time mytime; 错误 系统已经删除了默认的构造函数
//=delete 禁用某个函数