有这样一个类,定义
MyClass.h
class MyClass{
public:
bool IsGood();
};
MyClass.cpp没有实现,而是在内容都很类似的多个项目中分别实现
MyProj1.cpp, MyProj2.cpp等,分别编译成exe文件。要求1-9里面IsGood()返回false,
但是我不想每个都改,想集中实现。每个项目都知道自己的名字后缀(1,2,...)
其中MyProj10里面要定义
MyClass::IsGood(){
return true;
}
而MyProj1里面
MyClass::IsGood(){
return false;
}
是可以的,从10开始我要重写IsGood的内容,会比较复杂。而之前的要默认false。但
是我觉得这样麻烦,不想改1-9,那怎么做呢?假设已经很多类了,不太想继承。当然
继承可以做。
一个想法:
if (suffix > 9)
return IsGood();//此时项目是>9的,有这个函数
else
return false;//对于<10的项目,IsGood()没有定义,可以编译吗?
这样,