今天聊一下构造函数,我相信构造函数大多数人都了解(如果有不了解的,私信或评论)。啰嗦一下,构造函数与类同名,并且没有返回值。
构造函数与普通函数的调用时机注意一下。。
普通函数:调用时机就是调用该函数的地方
构造函数:不需要去调用,在创建对象时,会自动去调用构造函数
调用构造函数的方法:
1、类名 对象名;
2、类名 对象名 = 类名();
。。。。可能还有,目前只能想到这两个,(这个不是今天的重点)
现在说一下一种特殊的创建对象的方法
如图
执行后运行的结果为
Test(int i)
这种方法为构造函数的隐式调用(写成Test a = {n};也是没有问题的)
但是这种方法不是很提倡,所以有了explicit关键字
如果在对应的构造函数前加上这个关键字,并且代码中存在构造函数的隐式调用,编译器会告诉你编译错误
converting to ‘Test’ from initializer list would use explicit constructor ‘Test::Test(int)’