我有一个问题,我有这个基类:抽象类,如何调用函数打印
class A{
public:
/*...*/
virtual void print() = 0;
};
在这里我做一个类从类继承“A”
class B : public A{
private:
double a;
public:
/*...*/
B(double _a) : a(_a){ }
void print() override{
cout << a<<'\n';
}
};
而且我使用:
int main(){
/*...*/
std::vector<A*> vec;
/* ... Here I added new object */
vec.push_back(new B(2));
for(__typeof(vec.begin()) it = (vec.begin()); it!= vec.end(); it++){
}
//How to using and display function print which is declared inside class B
}
问:如何调用在B类中声明的函数print
?
我曾尝试使用下面的方法尝试,但这个符号不给我一个好的结果:
vec.front()->print();
出了什么问题'它 - >打印()'? – TartanLlama
这个符号'it-> print();'不起作用。 – meernet
@meernet它怎么不起作用?另外,为什么B的构造函数中的参数列表后面有逗号? –