怎么初始化类对象的数组
- C/C++ code
class text{public: text(int a,int b){data=a;} ~text(){} void print(){cout<<data<<endl;}private: int data;};int main(){ text t[3]={ };//要初始化3个类对象数组,大括号里怎么写啊,比如分别想用(1,2),(3,4),(5,6)初始 for(int i=0;i<3;i++) t[i].print(); return 0;}[解决办法]
text t[3]={text(1,2),text(2,3),text(4,5) };
[解决办法]
- C/C++ code
#include <iostream>#include <string>#include <fstream>using namespace std;class text{public: text(){} text(int a,int b){data=a;} ~text(){} void print(){cout<<data<<endl;}private: int data;};int main(){ text t[3]={ text(1,2), text(3,4), text(5,6), }; //;要初始化3个类对象数组,大括号里怎么写啊,比如分别想用(1,2),(3,4),(5,6)初始 for(int i=0;i<3;i++) t[i].print(); return 0;}
[解决办法]
1个参数是做了隐式转换。验证的话 将构造函数声明为explicit即可。
如果是2个参数。不能再使用一个参数的方法。