#include "stdio.h" class CBase { protected: CBase() { printf("CBase()\n"); } }; class CDerived:public CBase { private: CDerived() { printf("CDerived\n"); } int m1; int m2; public: static CDerived* NewInstance(); int getset1(bool get,int i=0); int getset2(bool get,int i=0); }; CDerived* CDerived::NewInstance() { return new CDerived(); } int CDerived::getset1(bool get,int i) { if(get) return m1; else return (m1=i); } int CDerived::getset2(bool get,int i) { if(get) return m2; else return (m2=i); }
#if !defined(STDLIB_H) #define STDLIB_H class CDerived { public: static CDerived* NewInstance(); int getset1(bool get,int i=0); int getset2(bool get,int i=0); }; #endif