纯虚函数可以拥有函数体吗?
class A
{
public:
//报错,函数在定义上有pure指定
virtual void f1()=0{};
};
但是在类内定义不了在类外也定义不了吗?
class A
{
public:
virtual void f1()=0;
};
void A::f1()
{
cout << A::f1()<<endl;
}
//编译通过
总结:纯虚函数在函数可以拥有函数体,但是类中只可以写纯虚函数的声明,纯虚函数的定义必须写在类外。
纯虚函数可以拥有函数体吗?
class A
{
public:
//报错,函数在定义上有pure指定
virtual void f1()=0{};
};
但是在类内定义不了在类外也定义不了吗?
class A
{
public:
virtual void f1()=0;
};
void A::f1()
{
cout << A::f1()<<endl;
}
//编译通过
总结:纯虚函数在函数可以拥有函数体,但是类中只可以写纯虚函数的声明,纯虚函数的定义必须写在类外。