请教大家,函数传递中选择类的指针还是直接传递类到底有什么区别?
在学设计模式的时候写了一个装饰模式相关的程序:
[解决办法]
撸主 为嘛剑圣要出先锋盾 直接1100或者1200多好。
[解决办法]
C++中的多态仅限于指针和引用
class Equip : public Hero
{
protected:
Hero * component;//改为Hero component
public:
void Decorator(Hero * hero)//改为Hero hero
{
component = hero;
}
virtual void Show()
{
if(&component != NULL)
{
component->Show();//改为component.Show();
}
}
};
而你这里更改之后component仅仅是一个普通的对象本身,因此,它只会调用Hero类中的Show函数
使用指针会根据运行期类型动态绑定