c++ - 通过赋值初始化类对象
问题描述
我今天用构造函数做了一些实验:
class cls
{
int a;
public:
cls(){cout<<"Default constructor called\n";}
cls(int b){a=b;cout<<"Constructor with parameter called";}
}
然后这种初始化
cls x=5;
产生一个输出,说明带有参数的构造函数已被调用。
我的问题是:如果我有一个带有两个或多个参数的构造函数怎么办?我还能使用赋值初始化吗?
解决方案
您可以对更多参数执行相同操作,如下所示:
#include <iostream>
class cls
{
int a;
double b;
public:
cls(){std::cout<<"Default constructor called\n";}
cls(int a): a(a){std::cout<<"Constructor with parameter called";}
cls(int a, double b) : a(a), b(b){std::cout<<"Constructor with two parameter called";}
};
int main()
{
cls t = {1, 1.5};
return 0;
}
推荐阅读
- autohotkey - 未知问题,未输入计数器的数字
- c# - C# Web API 在本地机器上工作,但在服务器上不工作
- c++ - 原始文件未播放或播放不正确 - 双簧管 (Android-ndk)
- c# - 即使主线程被阻塞也设置窗口位置?
- javascript - PHP laravel 使用 jQuery 解析数据或将它们组合成单个数组
- unreal-engine4 - 在虚幻引擎 4 蓝图中创建小部件不起作用?
- android - 如何在 ContextMenu 中使用 MenuItem.setIntent()
- c# - 使用来自外部的 var 时未触发 MvvmLight Messenger
- keras - LSTM - 不兼容的层,尺寸不匹配?
- delphi - Delphi XE5:如何在 TButtonGroup 中停止滚动