【发布时间】:2010-01-31 17:28:43
【问题描述】:
所有。我无法理解为什么下面的代码需要强制转换才能工作。谁能解释一下?
class Base {
};
class Derived : public Base {
};
class Class {
public:
Derived member;
};
...
Derived obj;
Base *ptrObj = &obj; // ok, no cast needed
Derived Class::* ptr = &Class::member; // ok
Base Class::* ptr = &Class::member; // wrong, need cast, why?
【问题讨论】:
-
我以前从未见过这种语法;有人将我链接到它的含义,不可能在谷歌上搜索这些东西
-
这是一个指向成员的指针。 :-)
标签: c++ inheritance casting pointers member