// PrivateConstrctor.cpp : Defines the entry point for the console application.
//
#include "stdafx.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()
{
return new CDerived();
}
int getset1(bool get,int i=0)
{
if(get)
return m1;
else
return (m1=i);
}
int getset2(bool get,int i=0)
{
if(get)
return m2;
else
return (m2=i);
}
};
int main(int argc, char* argv[])
{
CDerived* objD=CDerived::NewInstance();
objD->getset1(false,1);
objD->getset2(false,2);
printf("%d,%d\n",objD->getset1(true),objD->getset2(true));
return 0;
}
/*
CBase()
CDerived
1,2
Press any key to continue
*/