# include
class point
{< br> PRIVATE:
int X;
int y;
public:
point (int A = 0, int B = 0);
~ Point ();
point (point & P);
void show ();
};
void point: Show () {
cout }
point: Point (int A, int B) {
X = A;
Y = B;
cout <"Point () construct! " }< br> point ::~ Point () {
cout <"~ Point () distruct! " }< br> point: Point (point & P) {
X = P. x;
Y = P. y;
cout <"Point copy constrct" }< br> class circle
{< br> Public:
circle (int A = 0, int B = 0, float C = 0);
~ Circle ();
circle (circle & C);
void show ();
PRIVATE:
point P;
float R;
};
circle: Circle (int A, int B, float C): P (A, B) {
If (C <0)
{< br> r = 1;
}< br> else
{< br> r = C;
}
cout <"circle construct! ";
}< br> circle ::~ Circle () {
cout <"circle disconstruct! " }< br> circle: Circle (circle & C): p (C. p) {
r = C. r;
cout <"circle copy construct" }< br> void circle: Show () {
P. show ();
cout }< br> int main ()
{< br> Point P1 (1, 1 );
circle C1 (2, 2);
c1.show ();
circle C2;
c2.show ();
return 0;
}