【发布时间】:2013-02-17 17:59:28
【问题描述】:
这个问题是what I posted here的后续问题
Synth 实现了 Generator,Track 有一个 generator 成员(其中有一个 Synth)。我想做的是:
Track track = Track();
cout << track.generator.varA << endl;
但这不起作用,所以我猜我必须先以某种方式将生成器转换为 Synth,然后才能访问任何合成器方法或成员,但我不知道该怎么做。
【问题讨论】:
-
如果您需要演员表,那么这意味着更好的设计是让
Track拥有指向Synth的指针,而不是指向基类的指针。除非您正在做一些奇特的事情,否则沮丧通常是次优设计的标志。
标签: c++ interface casting member