Например, если у меня так много классов, которые имеют один и тот же префикс в той же платформе:
в андроиде:
Printer *p=new AndroidPrinter();
Writer *w=new AndroidWriter();
Connector *c=new AndroidConnector();
в iOS:
Printer *p=new IOSPrinter();
Writer *w=new IOSWriter();
Connector *c=new IOSConnector();
Можно ли определить часть имени класса:
#define PREFIX Android
int main(){
Printer *p=new PREFIXPrinter();
Writer *w=new PREFIXWriter();
Connector *c=new PREFIXConnector();
return 0;
}
вместо:
#define PLATFORM 0
#if PLATFORM==0
#define PRINTER AndroidPrinter
#else
#define PRINTER IOSPrinter
#endif
#if PLATFORM==0
#define WRITER AndroidWriter
#else
#define WRITER IOSWriter
#endif
#if PLATFORM==0
#define CONNECTOR AndroidConnector
#else
#define CONNECTOR IOSConnector
#endif
int main(){
Printer *p=new PRINTER();
Writer *w=new WRITER();
Connector *c=new CONNECTOR();
return 0;
}