Article View: be.comp.programming
Article #9390Re: [C++] vraagje ivm overerving en polymorfisme
From: Koen Witters
Date: Sun, 28 Apr 2002 21:12
Date: Sun, 28 Apr 2002 21:12
31 lines
2439 bytes
2439 bytes
Frederik Himpe wrote:
> Hallo,
>
> Stel dat ik een klasse A heb, en een klasse B en C die publiek zijn
> afgeleid van A. Ik maak dan bvb. een vector<A>, en stop hierin allemaal
> objecten van klassen B en C willekeurig door elkaar. Bestaat er dan na het
> opvullen van die vector nog een mogelijkheid om te zien of een object van
> die vector nu van klasse B of van klasse C is? Of zal ik ergens in klasse A
> een datalid moeten zetten dat bijhoudt of het object van B of van C is?
>
> Frederik
Wacht... efkes den Bjarne openslagen...
There are four fundamental solutions to the problem:
1. Ensure that only objects of a single type are pointed to
2. Place a type field in the base class for the functions to inspect
3. Use dynamic_cast
4. use virtual functions
Persoonlijk zou ik voor de 2de optie gaan, want ik zou ni weten hoe ge
via een dynamic_cast het type kunt te weten komen. En die virtual
functions vind ik ook maar iets voos.
mvg,
Koen Witters
--
______ __ ___
/|/| /_ __/___ _____/ /_________ / _ \__ __ _ ___ /)/)
@ @ | / / __/_ `/ __/ '_/ -_)__/ / // /_ \/ _ `/|_-< | @ @
O | /_/_/ \_,_/\__/_/\_\\__/_/ /____/\__/\_, //___/ | <>
`-' | http://www.trackerdogs.com meta search__/engine |`-'='
Technical Details
Message-ID:
<3CCC65CE.3000003@_pandora_._be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<wzSy8.43931$Ze.7164@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,e1efe537c181c282 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-04-28 14:12:50 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail Message-ID: <3CCC65CE.3000003@_pandora_._be> From: Koen Witters <_kwitters_@_pandora_._be> User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:0.9.9) Gecko/20020313 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: be.comp.programming Subject: Re: [C++] vraagje ivm overerving en polymorfisme References: <wzSy8.43931$Ze.7164@afrodite.telenet-ops.be> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lines: 32 Date: Sun, 28 Apr 2002 21:12:47 GMT NNTP-Posting-Host: 213.119.173.64 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1020028367 213.119.173.64 (Sun, 28 Apr 2002 23:12:47 MET DST) NNTP-Posting-Date: Sun, 28 Apr 2002 23:12:47 MET DST Organization: Telenet Internet