3

この出力が出力されるのはなぜですか23。私の期待はでした33。誰かがこれに光を当ててください。

struct A {
    virtual void f() {cout << "1";}
};

/* Private inheritance */
struct B : private A {
    void f(int x = 0) {cout << "2";}
};

struct C : B {
    void f(){cout << "3";}
};

int main() {
    C obj;
    B &ref = obj;
    ref.f();
    obj.f();
}
4

1 に答える 1

6

構造体のメソッドf(int x = 0)は、どちらのメソッドともB署名を共有しません。ACf()

于 2013-02-18T06:12:01.113 に答える