小编Eug*_*e S的帖子

子类可以内联一个非基类内联的纯虚方法吗?

据我所知,编译器可以在编译时知道对象的类型在运行时(C++ faq)时内联虚函数调用.

但是,当一个人从基类实现纯虚方法时会发生什么?是否适用相同的规则?下面的函数调用是否会被内联?

class base
{
public:
    virtual void print() = 0;

    virtual void callPrint()
    {
        print(); // will this be inline?
    }
};

class child : public base
{
public:
    void print() { cout << "hello\n"; }
};

int main()
{
    child c;
    c.callPrint();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我认为我原来的示例代码实际上是我想要问的不好的代表.我已经更新了代码,但问题仍然存在.

c++ virtual

1
推荐指数
1
解决办法
286
查看次数

标签 统计

c++ ×1

virtual ×1