相关疑难解决方法(0)

C++:类数据成员的初始化顺序

在下面的代码中,当X被调用的ctor 首先被调用A或被B调用时?它们放在班级正文中的顺序是否控制了这个?如果有人可以提供C++标准的一小段文本来讨论这个问题,那将是完美的.

class A {};
class B {};
class X
{
 A a;
 B b;
};
Run Code Online (Sandbox Code Playgroud)

c++ initialization class-members

36
推荐指数
2
解决办法
2万
查看次数

C++:从同一个类的成员函数调用纯虚函数

考虑以下2个程序.

#include <iostream>
using std::cout;
class Base {
    public:
        virtual void f()=0;
        void g() {
            f();
        }
        virtual ~Base() { }
};
class Derived : public Base
{
    public:
    void f() {
        cout<<"Derived::f() is called\n";
    }
     ~Derived() {}
};
class Derived1 : public Base
{
    public:
    void f() {
        cout<<"Derived1::f() is called\n";
    }
    ~Derived1() { }
};
int main() {
    Derived1 d;
    Base& b=d;
    b.g();
    b.f();
}
Run Code Online (Sandbox Code Playgroud)

编译并运行良好并给出预期的结果..

#include <iostream>
using std::cout;
class Base {
    public:
        virtual void f()=0;
        Base() …
Run Code Online (Sandbox Code Playgroud)

c++ pure-virtual undefined-behavior

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