8 virtual const char* getName()
const {
return "Class";}
15 virtual Class& getClass()
const = 0;
16 const char* getClassName()
const {
return getClass().getName();}
18 virtual void print()
const = 0;
27 A(
int _i = 0) : i(_i), j(0) {}
28 A(
int _i,
int _j) : i(_i), j(_j) {}
30 virtual Class& getClass()
const {
return a;}
31 virtual void print()
const {cout <<
"A: " << i <<
" j " << j << endl;}
39 virtual const char* getName()
const {
return "A";}
40 virtual A& operator()(
int i = 0)
const {
return *
new A(i);}
41 virtual A& operator()(
int i,
int j)
const {
return *
new A(i,j);}
51 B(
int _i = 0) :
A(_i) {}
53 virtual Class& getClass()
const {
return b;}
54 virtual void print()
const {cout <<
"B: " << i <<
" x " << x << endl;}
62 virtual const char* getName()
const {
return "B";}
63 virtual B& operator()(
int i = 0)
const {
return *
new B(i);}
Definition: tstclass.hpp:49
Definition: tstclass.hpp:60
Definition: tstclass.hpp:25
Definition: tstclass.hpp:12
Definition: tstclass.hpp:37
Definition: tstclass.hpp:5