he11o_w0rld 2020-11-04 11:46 采纳率: 0%
浏览 87

C++多态函数传参,调用子类还是父类的构造函数

///////////////////
class A
{
public:
    A() {}
    virtual void show()
    {
        printf("class A\n");
    }
};

class B : public A
{
public:
    B() {}
    virtual void show()
    {
        printf("class B\n");
    }
};

void func(A a)
{
    a.show();
}

int main()
{
    B b;
    func(b);
    return 0;
}

/////////////////


class A
{
public:
    A() {}
    virtual void show()
    {
        printf("class A\n");
    }
};

class B : public A
{
public:
    B() {}
    virtual void show()
    {
        printf("class B\n");
    }
};

void func(A& a)
{
    a.show();
}

int main()
{
    B b;
    func(b);
    return 0;
}

///////

请问大佬解释一下两段代码的输入结果。(代码不同的地方在func函数的参数)

  • 写回答

1条回答 默认 最新

  • 黄铎彦 2023-08-23 16:21
    关注

    形参要有多态的话类型必须是基类引用。

    评论

报告相同问题?

悬赏问题

  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥18 光催化第一性原理计算析氢效率STH怎么计算
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别
  • ¥15 .net core 同时编辑怎么防止数据串了
  • ¥20 微信小程序播放直播流
  • ¥15 关于迷宫自走单片机循迹小车的知识
  • ¥15 python使用selenium工具爬取网站的问题
  • ¥15 visual studio中c语言用ODBC链接SQL SERVER