En klasse med en pure virtual funktion kan ikke instantieres, altså der kan ikke laves objekter af den - og sådan en klasse kaldes også abstrakt. De klasser, der nedarver fra denne, kan så vælge at redefinere en pure virtual, og først når i en nedarving alle pure virtual funktioner er defineret, kan man lave objekter af den.
Det er altså en måde at sige: i denne klasse skal der være en funktion af dette navn - men den skal altså først laves i en eller anden underklasse.
Ja, eksistensen af en ren virtuel funktion i en klasse gør den totalt ubrugelig - undtagen til den ene ting: at nedarve fra. Og indmaden af sådan en funktion skal laves i en nedarvning - ikke nødvendigvis den første
Du siger, at hvis man en flot og fornem class Person, der ikke er abstract, så laver du en nedarvning til en der hedder - øh - Kunstner, og i den putter du en pure virtual funktion ind, ja, så er kunstneren abstrakt. Indrømmet, jeg har vist aldrig prøvet, men ja, det burde man kunne.
\"ved meget om\" - uha - det gør næsten ondt i hjernecellerne, når jeg skal grave den viden frem ... det er mange år siden.
Om du skriver static eller ej foran en funktion gør i sig selv ingen forskel umiddelbart. Men funktioner i en fil aaaa.c, der ikke er static kan ses og bruges i bbbb.c. Så med static skjuler du dem for andre .c filer, og kan evt. have forskellige funktioner med samme navn i forskellige .c filer i samme program.
Jeg takker for oplysningerne og tildeler dig point..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.