c++ 类A中含有一个string类型的私有数据成员 需要通过构造函数将它初始化 类B中含有私有数

c++ 类A中含有一个string类型的私有数据成员 需要通过构造函数将它初始化 类B中含有私有数据成员类A的对象数组 大小未知需要用户输入 数组中每一个对象中的数据成员都要被初始化为一个string数组的每一个元素的值(下标一一对应) 请问该如何实现

// C++11
#include <iostream>
#include <vector>
#include <string>
using namespace std;

class A{
string s;
public:
A(string t): s(t){}
void display(){cout << s << endl;}
};

class B{
vector<A> vA;
public:
B(const vector<string> &vs){
for each(string s in vs)
vA.push_back(A(s));
}
void display(){
for each(A a in vA)
a.display();
}
};

int main(){
string ss[] = {"hello", "World"};
vector<string> vs(ss, ss+2);

B b(vs);
b.display();
}

追问

能说下for each怎么用么

追答for each (类型 变量名 in 表达式) {
   语句
}

for( 类型 变量名 : 表达式) {
    语句
}

它们用来遍历数组之类的容器。

温馨提示:答案为网友推荐,仅供参考
相似回答