C++代码中的错误

来源:百度知道 编辑:UC知道 时间:2024/05/07 15:17:47
class A{
int i;
public:

A(int i):i(i){
}
~A() {}
};
class B: public {
int j;
public:

B(int j): j(j) {}
~B() {}
};
int main()
{
vector<A>as;
as.push_back(B(1));
}

class A{
int i;
public:

A(int value):i(value) {} // 最好不要用相同的变量名
virtual ~A() {} // 应该用虚析构函数,否则 vector<A> 析构时,B 的析构函数不会调用
};

class B: public A // 这里写错了
{
int j;
public:

B(int value): j(value) {} // 理由同上
~B() {}
};
int main()
{
vector<A>as;
B b(1); // 要这样写
as.push_back(b);
}

什么错误?