#include <stdio.h>
class A{
public :
bool inited;
};
A a1;
int main()
{
A a2;
bool t1 = a1.inited;
bool t2 = a2.inited;
char *p1 = (char *)&a1;
char *p2 = (char *)&a2;
printf("%2x\n",0xff & *p1);
printf("%2x\n",0xff & *p2);
#include <stdio.h>
class A
{
public:
A() { }
virtual ~A() { printf("~A\n"); }
};
class B:public A
{
public:
B(){}
B(A &a):_a(a)
{
}
virtual ~B()
{
printf("~B\n");;
}
private:
A _a;
};
int main(void)
{
printf("virtual destructor \n");
A * a2 = new B();
delete a2;
}
#include <stdio.h>
class A
{
public:
A() { }
virtual ~A() { printf("~A\n"); }
};
class B:public A
{
public:
B(){}
B(A &a):_a(a)
{
}
virtual ~B()
{
printf("~B\n");;
}
private:
A _a;
};
int main(void)
{
A a;
B b(a);
}
#include <stdio.h>
class CParent
{
public:
void Intro()
{
printf( "I'm a Parent, " ); Hobby();
}
virtual void Hobby()
{
printf( "I like football!" );
}
};
class CChild : public CParent {
public: void Intro()
{
printf( "I'm a Child, " ); Hobby();
}
virtual void Hobby()
{
printf( "I like basketball!\n" );
}
};
int main( void )
{
CChild *pChild = new CChild();
CParent *pParent = (CParent *) pChild;
pParent->Intro();
return(0);
}