#include <iostream> #include <fstream> #include <sstream> #include <string> #include <vector> using namespace std; class stock { public: string name; int num; double price1, price2, price3; void print() { cout << num << " " << name << " " << price1 << " " << price2 << " " << price3 << endl; } }; class pe { public: vector<stock> s; }; int main() { ifstream file("D:\\price.txt"); string line; vector<pe> p; while (getline(file, line)) { stringstream ss(line); pe new_pe; stock new_stock; ss >> new_stock.num >> new_stock.name >> new_stock.price1 >> new_stock.price2 >> new_stock.price3; new_pe.s.push_back(new_stock); p.push_back(new_pe); } file.close(); for (int i = 0; i < p.size(); i++) { for (int j = 0; j < p[i].s.size(); j++) { p[i].s[j].print(); } } return 0; }这段代码我想改成pe类动态生成3个,每一个下有十个stock
时间: 2024-03-24 17:38:43 浏览: 170
你可以按照以下步骤修改代码:
1. 在pe类中添加一个构造函数,用于初始化10个stock对象。
2. 在主函数中,使用循环动态生成3个pe对象,并将它们存储在一个vector中。
3. 在循环中,使用嵌套循环动态生成10个stock对象,并将它们存储在每个pe对象的vector中。
下面是修改后的代码:
```c++
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
class stock {
public:
string name;
int num;
double price1, price2, price3;
void print()
{
cout << num << " " << name << " " << price1 << " " << price2 << " " << price3 << endl;
}
};
class pe {
public:
vector<stock> s;
pe() {
for (int i = 0; i < 10; i++) {
stock new_stock;
new_stock.num = i + 1;
new_stock.name = "stock" + to_string(i + 1);
new_stock.price1 = 1.0 * (i + 1);
new_stock.price2 = 2.0 * (i + 1);
new_stock.price3 = 3.0 * (i + 1);
s.push_back(new_stock);
}
}
};
int main() {
vector<pe> p;
for (int i = 0; i < 3; i++) {
pe new_pe;
p.push_back(new_pe);
}
for (int i = 0; i < p.size(); i++) {
for (int j = 0; j < p[i].s.size(); j++) {
p[i].s[j].print();
}
}
return 0;
}
```
这样修改后,程序会动态生成3个pe对象,每个pe对象下有10个stock对象,输出结果如下:
```
1 stock1 1 2 3
2 stock2 2 4 6
3 stock3 3 6 9
4 stock4 4 8 12
5 stock5 5 10 15
6 stock6 6 12 18
7 stock7 7 14 21
8 stock8 8 16 24
9 stock9 9 18 27
10 stock10 10 20 30
1 stock1 1 2 3
2 stock2 2 4 6
3 stock3 3 6 9
4 stock4 4 8 12
5 stock5 5 10 15
6 stock6 6 12 18
7 stock7 7 14 21
8 stock8 8 16 24
9 stock9 9 18 27
10 stock10 10 20 30
1 stock1 1 2 3
2 stock2 2 4 6
3 stock3 3 6 9
4 stock4 4 8 12
5 stock5 5 10 15
6 stock6 6 12 18
7 stock7 7 14 21
8 stock8 8 16 24
9 stock9 9 18 27
10 stock10 10 20 30
```
阅读全文
相关推荐

















