Article View: pl.comp.lang.c
Article #298002Re: sortowanie vector<Klasa*>
From: Paweł Kierski
Date: Wed, 17 Aug 2011 14:03
Date: Wed, 17 Aug 2011 14:03
39 lines
1792 bytes
1792 bytes
W dniu 2011-08-17 14:58, B pisze:
> Witam,
> Mam (chyba) banalny problem ale nie mogę znaleźć rozwiazania. Otóż
> mam taki oto kod:
>
> class Klasa {
> private:
> int a;
> };
>
> void f(){
> vector<Klasa*> w;
> // tu wypełnienie wektora
>
> sort(w.begin(),w.end()); //dlaczego tu się nie wywala?
>
> }
A dlaczego miałby? Sortowanie pustego wektora nie jest problemem.
> i pytanie jak w kodzie tj. dlaczego mimo braku operatora < program
> podczas uruchomienia się nie wywala?
>
> Jak dopisze do klasy:
> bool operator<(Klasa& k) const {
> cout<<"aaaa"<<endl;
> return k.a < this->a;
> }
>
> to ten operator nie jest wywoływany?
Bo do sortowania kolekcji elementów Klasa* jest wywoływany operator:
bool operator<(Klasa* a, Klasa* b);
Gdybyś miał vector<Klasa> to twój operator byłby wywoływany. BTW -
lepiej, żeby argument też był const.
--
Paweł Kierski
news@pkierski.net
Technical Details
Message-ID:
<j2ghmo$gm4$2@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailReferences:
<j2gdud$2jk$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: Paweł Kierski <news@pkierski.net> Newsgroups: pl.comp.lang.c Subject: Re: sortowanie vector<Klasa*> Date: Wed, 17 Aug 2011 16:03:04 +0200 Organization: http://onet.pl Lines: 39 Message-ID: <j2ghmo$gm4$2@news.onet.pl> References: <j2gdud$2jk$1@news.onet.pl> NNTP-Posting-Host: 195.182.34.201 Mime-Version: 1.0 X-Trace: news.onet.pl 1313589784 17092 195.182.34.201 (17 Aug 2011 14:03:04 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Wed, 17 Aug 2011 14:03:04 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.18) Gecko/20110616 Lightning/1.0b2 Thunderbird/3.1.11 In-Reply-To: <j2gdud$2jk$1@news.onet.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit