为了账号安全,请及时绑定邮箱和手机立即绑定

如下C++多态的问题,请问直接用子类对象去调用func()叫多态么?为什么?

如下C++多态的问题,请问直接用子类对象去调用func()叫多态么?为什么?

C++ C
潇潇雨雨 2022-03-25 15:15:49
class Base {public:void virtual func() {cout << "父类func()" << endl;}};class Son : public Base {public:void func() {cout << "子类func()" << endl;}};//void doFunc(Base& b) {// b.func();//}void text() {Son s;//doFunc(s);s.func();}int main() {text();system("pause");return 0;}
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

不算多态,多态一般是父类的引用或指针指向了子类对象,如果是子类对象自己直接调用函数就没有意义了。
比如:
Son s;
Base* b = static_cast<Base*>(&s);
b->func();

查看完整回答
反对 回复 2022-03-28
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信