我必须写下面代码的定义。我undarstand OOP的CPP一些基础知识,我知道什么是*x
或&x
,但是这还不够...的主要事实是,我无法理解线B* p = new D, m, *k;
我不能明白m
和*k
立场。OOP C++,虚函数和新运算符
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();
. . .
}
帮助,如果你能解释一下如何(以及为什么左右)这段代码工作。
谢谢你的时间。