【发布时间】:2012-07-27 21:05:01
【问题描述】:
我必须在下面写下代码的定义。我不了解 OOP Cpp 的一些基础知识,我知道什么是 *x 或 &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();
. . .
}
帮助,如果您能解释一下这段代码如何(以及为什么这样)将起作用。
谢谢你的时间。
【问题讨论】:
标签: c++ oop pointers virtual-functions