我必须在下面编写代码的定义。我不了解 OOP Cpp 的一些基础知识,我知道什么是 *x
or &x
,但这还不够……主要的事实是我无法理解行,B* p = new D, m, *k;
我无法理解m
和*k
代表什么。
class B {
public:
virtual void msg() { cout << "classB"; }
};
class D: public B {
public:
virtual void msg() { cout << "classD"; }
};
int main() {
B* p = new D, m, *k;
p->msg(); k = &m; k->msg();
. . .
}
帮助,如果你能解释一下这段代码是如何工作的(以及为什么会这样)。
谢谢你的时间。