0
4

1 回答 1

5

您无法var使用Parent指针访问,因为Parent::var它不是事物。相反,试试这个:

class Parent {
public:
    virtual ~Parent() {}
    virtual int getVar() const = 0;
};

class Child: public Parent {
public:
    Child(): var(2) {}
    virtual int getVar() const { return var; }
private:
    int var;
};

int main() {
    map<string, Parent *> children;
    children["bar"] = new Child;
    cout << children["bar"]->getVar() << endl; // Erroneous line
}
于 2013-07-06T10:28:36.023 回答