【发布时间】:2017-02-04 19:10:34
【问题描述】:
您好,我有这样的想法,但我不知道如何实现它。在我的程序中,我已经有了基类,还有一些派生类。
base.hpp
BaseClass {
public:
BaseClass();
virtual int getSomething(int param);
}
base.cpp
BaseClass::BaseClass(){};
int BaseClass::getSomething(int param)
{
return param * 5;
}
derived1.hpp
DerivedClass1 : public BaseClass {
public:
DerivedClass1();
}
derived2.hpp
DerivedClass2 : public BaseClass {
public:
DerivedClass1();
}
现在我根据需要使用派生类或基类。
BaseClass *c = (BaseClass *) new DerivedClass1;
cout << c->getSomething(5);
我想要的是在基类中有某种类型的类特定参数,这对于 DerivedClass1 和 DerivedClass2 会有所不同。这是一个示例,它的外观。
base.hpp
BaseClass {
public:
BaseClass();
virtual int getSomething(int param);
}
base.cpp
BaseClass::BaseClass(){};
int BaseClass::getSomething(int param)
{
return param * CLASS_SPECIFIC_PARAM;
}
然后对于 DerivedClass1,这个 CLASS_SPECIFIC_PARAM 将是 5,对于 DerivedClass2 将是 6 或其他。 这甚至可能吗?最好的方法是什么?
【问题讨论】:
标签: c++ object methods virtual