C++virtual函数重写,在继承的时候没有写关键字也仍然是虚函数吗?
#include<iostream>usingnamespacestd;classA{public:virtualvoidf1();virtualvoidf2(int);...
#include<iostream>
using namespace std;
class A
{
public:
virtual void f1();
virtual void f2(int);
};
class B :public A
{
public:
virtual void f1();
void f2(int);
};
class C :public B
{
public:
virtual void f1();
virtual int f3();
};
为什么类B里的f2函数还是虚函数,不是覆盖了吗?如果不是该怎么解释f2函数仍是虚函数? 展开
using namespace std;
class A
{
public:
virtual void f1();
virtual void f2(int);
};
class B :public A
{
public:
virtual void f1();
void f2(int);
};
class C :public B
{
public:
virtual void f1();
virtual int f3();
};
为什么类B里的f2函数还是虚函数,不是覆盖了吗?如果不是该怎么解释f2函数仍是虚函数? 展开
3个回答
展开全部
如果基类声明了一个函数为虚函数
那么派生类里重写这个函数且函数名 参数 返回值什么都不变的话会默认为虚函数
那么派生类里重写这个函数且函数名 参数 返回值什么都不变的话会默认为虚函数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会自动继承virtual属性。还是虚函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询