#include <iostream.h> tinclude <string.h>
class A { public:
char tab[3];
A(const char *str='A") { strcpyltab, ser); cout « *B" « tab « endl;
>
void operator-() {
cout « *C* « tab « endl;
virtual operator char*() { return ’D";
-A () {
cout « *E" << tab « endl;
class B: public A {
A p; public:
B(const char *str=’F"):A(str) {
cout « "G* << tab << endl;
void operator-() {
A::operator -O;
cout << "H* « tab « endl;
operator char*() { return *1*;
virtual -BO {
cout « 'J‘ « tab « endl;
B blCl*) ;
void main() {
A b2(*2*);
A *pb = new BC3*) ;
-bl;
cout « bl « b2 « *pb << endl; pb->operator-0;
deiete pb;