【发布时间】:2014-04-28 16:01:20
【问题描述】:
我有一个类“D”,它有一个成员函数“play”。 Play 应该有两个参数,都是“A”类的对象。我还有另外两个类,“B”和“C”,它们都是从“A”类继承(保护)的。我的程序的结构方式,我只有一个'B'对象和另一个'C'对象传递给函数'play'。我怎样才能使这项工作?如果我传递这两个继承的对象,我会得到一个编译器错误:
cannot cast 'B' to its protected base class 'A'
我是否需要将对象转换回“A”对象才能将它们传递给“播放”?或者我可以按原样使用它们吗?
【问题讨论】:
-
为什么要建立继承关系
protected?你知道private、protected和public继承的区别吗?我相信,如果你这样做了,那么你就不会问这个问题了,所以我建议你看看这个帖子:stackoverflow.com/questions/860339/…
标签: c++ object inheritance protected