class B : public A
{
int *j;
public:
B() { j = new int(7); }
~B()
{
cout <<
"~B() => delete j\n";
delete j;
}
};
void main()
{
A *a = new B; // Что мы
delete a; // увидим?
}
class B : public A
{
int *j;
public:
B() { j = new int(7); }
~B()
{
cout <<
"~B() => delete j\n";
delete j;
}
};
void main()
{
A *a = new B; // ~A() => delete a; // delete i
} // Деструктор B не вызовется!
class B : public A
{
int *j;
public:
B() { j = new int(7); }
virtual ~B()
{
cout <<
"~B() => delete j\n";
delete j;
}
};
void main()
{
A *a = new B; // ~B() => delete a; // delete j
} // ~A() => delete i
class B : public A
{
int *j;
public:
B() { j = new int(7); }
virtual void foo()
{ cout << "B::foo()\n"; }
virtual ~B()
{
delete j;
foo();
}
};
void main() // Что мы увидим
{ // на экране?
A *a = new B;
delete a;
}
class B : public A
{
int *j;
public:
B() { j = new int(7); }
virtual void foo()
{ cout << "B::foo()\n"; }
virtual ~B()
{
delete j;
foo();
}
};
void main() // B::foo()
{ // A::foo()
A *a = new B;
delete a;
}
class B : public A
{
int *j;
public:
B()
{ j = new int(7); foo(); }
virtual void foo()
{ cout << “B::foo()\n"; }
};
void main() // Что мы увидим
{ // на экране?
A *a = new B;
delete a;
}
class B : public A
{
int *j;
public:
B()
{ j = new int(7); foo(); }
virtual void foo()
{ cout << “B::foo()\n"; }
};
void main() // A::foo()
{ // B::foo()
A *a = new B;
delete a;
}
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть