🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #267664

Re: Ciemna strona C++ -- slajd 47, rozwiązanie z uzyciem polimorfizmu statycznego

#267664
From: Seweryn Habdank-Wojewódzki
Date: Sat, 10 Nov 2007 17:45
39 lines
1922 bytes
Witam

Jedrzej Dudkiewicz wrote:

> class A {
> virtual void do_me() {}
> };
> 
>> class B : public A {
>> public:
>>     void do_me() { };
>> };
>> 
>> B tablica[3];
>> 
>> void fun(A tablica[])
>> {
>>     tablica[0].do_me(); // <- co z tym?
>> }
> 
> Które do_me() będzie wywołane?

Napisz fun tak:

template <typename T>
void fun(T* tablica)
{
        tablica[0].do_me();
}

To działa poprawnie, bo nie ma tego głupkowatego rzutowania na A, tylko
kompilator decyduje o tym jaki typ najlepiej pasuje do wymaganego i taki
kod jest generowany.

Pozdrawiam.

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
 \/\/
Technical Details
Message-ID: <fh4pum$rsq$2@news.vectranet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh20eq$2hq$1@news.supermedia.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
From: Seweryn Habdank-Wojewódzki <shw_mail@wp.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Ciemna strona C++ -- slajd 47, rozwiązanie z
 uzyciem polimorfizmu statycznego
Date: Sat, 10 Nov 2007 18:45:40 +0100
Organization: VectraNET - http://www.vectranet.pl
Lines: 40
Message-ID: <fh4pum$rsq$2@news.vectranet.pl>
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh20eq$2hq$1@news.supermedia.pl>
Reply-To: shw_mail@wp.pl
NNTP-Posting-Host: 078088193244.osw.vectranet.pl
Mime-Version: 1.0
X-Trace: news.vectranet.pl 1194715927 28570 78.88.193.244 (10 Nov 2007 17:32:07 GMT)
X-Complaints-To: usenet@news.vectranet.pl
NNTP-Posting-Date: Sat, 10 Nov 2007 17:32:07 +0000 (UTC)
User-Agent: KNode/0.10.5
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit