Article View: pl.comp.lang.c
Article #267664Re: Ciemna strona C++ -- slajd 47, rozwiązanie z uzyciem polimorfizmu statycznego
From: Seweryn Habdank-Wojewódzki
Date: Sat, 10 Nov 2007 17:45
Date: Sat, 10 Nov 2007 17:45
39 lines
1922 bytes
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-mailReferences:
<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