[ vladab @ 31.01.2005. 15:45 ] @
Imam dve klase:
Code:
class A{
int a1;
public:
A(int a){...};
...
};

class B : public A{
int b;
public:
B(int i, int j);
};

i konstruktor
Code:
B::B(int i, int j):A(i){
if (i<5 && j<7) throw BadNumber();
else b=j;
}

Pitanje:
Sta se desava sa objektom A kada se baci izuzetak u konstruktoru B, ako je ona virtual i ako nije?
[ Dragi Tata @ 31.01.2005. 17:23 ] @
Konstruktori ne mogu da budu virtuelni, a ako baciš izuzetak u konstruktoru B, biće pozvan destruktor A.

Uostalom, proveri sam.
[ vladab @ 01.02.2005. 13:49 ] @
Citat:
Dragi Tata:ako baciš izuzetak u konstruktoru B, biće pozvan destruktor A.
To me je zanimalo! Hvala! Inace, kada sam rekao virtiual, naprvio sam lapsus, mislio sam da kazem apstraktna, a naravno odnosilo se na klasu. :O)