这句错在哪(C++)
来源:百度知道 编辑:UC知道 时间:2024/05/25 03:43:42
class A
{
public;
A()
{
func(); //这里错了
virtual void func()=0;
但我不知 func() 错在哪?
{
public;
A()
{
func(); //这里错了
virtual void func()=0;
但我不知 func() 错在哪?
func()是基类的纯虚函数,在基类的构造函数中是不能调用这个纯虚函数
如:
#include <iostream>
using namespace std;
class A
{
public:
A(){ }
virtual void print()=0;
};
void A::print()
{
cout<<"hello"<<endl;
}
class B : public A
{
public:
void print(){ A::print();cout<<"world"<<endl; }
};
int main()
{
B b;
b.print();
}
或:
#include <iostream>
using namespace std;
class A
{
public:
A(){ print(); }
virtual void print();
};
void A::print()
{
cout<<"hello"<<endl;
}
class B : public A
{
public:
void print(){ cout<<"world"<<endl; }
};
int main()
{
B b;
b.print();
}
A()
{
func(); //这里错了