标签:efault 创建对象 delete 文件中 创建 禁用 time value let
c++11中,可以为类内成员变量提供一个初始值,在创建对象的时候,初始值就可以用来初始化该成员变量。在头文件中可以赋初值。
两种方式:
//类定义(类声明)
class Time
{
private:
int MilliSecond; //毫秒
public:
void initMilliSecond(int mls);
public:
int Hour; //小时
int Minue; //分钟
int Second = 0; //秒钟
mutable int test; //测试变量
const int ctestvalue = 80; //定义了常量
void initTime(int tmphour, int tmpmin, int tmpsec);
}
//构造函数列表
Time::Time():ctestvalue(70)
{
Hour = 12;
Second = 13;
initMilliSecond(0);
std::cout<<"调用了无参构造函数"<<std::endl;
}
没有构造函数,这些类对象如何初始化?
默认初始化, 通过一个特殊的构造函数来执行默认的初始化过程,这个特殊的构造函数就叫做默认构造函数 即无参数的构造函数。
=default 编译器能够为这种的无参构造函数自动生成函数体,普通函数不能这样写, 带参数的构造函数也不能这样写;
=delete 让程序员显式的禁用某个函数
//类定义(类声明)
class Time2
{
public:
Time2() =default;
Time2() =delete;
public:
int Hour;
int Minute;
int Second = 0;
};
标签:efault 创建对象 delete 文件中 创建 禁用 time value let
原文地址:https://www.cnblogs.com/Trevo/p/13324481.html