/
Forside
/
Teknologi
/
Udvikling
/
C/C++
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
C/C++
#
Navn
Point
1
BertelBra..
2425
2
pmbruun
695
3
Master_of..
501
4
jdjespers..
500
5
kyllekylle
500
6
Bech_bb
500
7
scootergr..
300
8
gibson
300
9
molokyle
287
10
strarup
270
Klasse med interface
Fra :
Klaus Petersen
Dato :
26-03-03 02:28
Hej NG.
Hvordan kan det være, at destruktoren af klassen "A" ikke bliver kaldt i
følgende kode?
- - - - - -
class InterfaceA
{
private:
public:
virtual void UdskrivTestVar () = 0;
};
class A : public InterfaceA
{
private:
int testvar;
public:
A () { printf ("Konstruktor...\n"); this->testvar = 150; };
~A () { printf ("Destruktor...\n"); };
void UdskrivTestVar () { printf ("%d\n", this->testvar ); };
};
int main(int argc, char* argv[])
{
InterfaceA* objA = new A ();
objA->UdskrivTestVar ();
delete objA;
};
Bent Wagner (
26-03-2003
)
Kommentar
Fra :
Bent Wagner
Dato :
26-03-03 15:31
In article <b5qvmh$8jj$1@sunsite.dk>, Klaus Petersen wrote:
> Hej NG.
>
> Hvordan kan det være, at destruktoren af klassen "A" ikke bliver kaldt i
> følgende kode?
>
> - - - - - -
>
> class InterfaceA
> {
> private:
>
> public:
> virtual void UdskrivTestVar () = 0;
> };
>
> class A : public InterfaceA
> {
> private:
> int testvar;
>
> public:
> A () { printf ("Konstruktor...\n"); this->testvar = 150; };
> ~A () { printf ("Destruktor...\n"); };
>
> void UdskrivTestVar () { printf ("%d\n", this->testvar ); };
> };
>
> int main(int argc, char* argv[])
> {
> InterfaceA* objA = new A ();
>
> objA->UdskrivTestVar ();
>
> delete objA;
> };
Du skal have en virtual destructor i class InterfaceA.
Den vil sørge for at delete kan finde det rigtige object
som skal slettes.
Bent Wagner
Søg
Alle emner
Teknologi
Udvikling
C/C++
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408924
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.