我有这个小程序,因为我试图理解作为参数传递的向量和类名。这是程序:
#include<iostream>
#include<vector>
using namespace std;
class objectclass{
public:
void vec_try(){
cout<<"print out something";
}
};
class another{
public:
void run();
vector<objectclass *>ports;
void add_obj(objectclass *p){
ports.push_back(p);
}
};
void another::run(){
//int j=0;
ports[j]->vec_try();
}
int main(){
another a;
a.run();
system("pause");
return 0;
}
我知道将向量中的类名作为对象传递是可以的,然后使用 push_back 将元素插入该向量中,但是在函数 add_obj(objectclass *p) 中,如果我不想更改定义,我该如何传递值功能。我知道这样的方法:
objectclass *p;
p= new objectclass[10];
但是我的函数已经定义了,而且我想用ports[i]调用函数vec_try(),所以我不知道如何传递值以及它是如何与ports[i]一起工作的。我基本上需要对此进行一些澄清。