-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: wyzwanie z szablonami ;]
Date: Fri, 07 Oct 2011 18:16:50 +0200
Organization: ATMAN - ATM S.A.
Lines: 54
Message-ID: <j6n8na$7fa$1@node2.news.atman.pl>
References: <j6kipe$qt3$1@inews.gazeta.pl> <j6kitl$dmv$1@node2.news.atman.pl>
<j6kknb$385$1@inews.gazeta.pl> <j6m07u$os3$1@inews.gazeta.pl>
<j6mu8s$6d1$1@inews.gazeta.pl>
<8...@f...googlegroups.com>
NNTP-Posting-Host: 213.195.143.220
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1318004266 7658 213.195.143.220 (7 Oct 2011 16:17:46
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 7 Oct 2011 16:17:46 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428
Linux/3.1.0-15 Thunderbird/3.1.0
In-Reply-To: <8...@f...googlegroups.com>
Xref: news-archive.icm.edu.pl pl.comp.programming:192639
[ ukryj nagłówki ]On 10/07/2011 05:32 PM, Andrzej Jarzabek wrote:
> On Oct 7, 2:19 pm, "Sarr."<s...@g...pl> wrote:
>> On 7-10-2011 6:46, Andrzej Jarzabek wrote:
>>
>>> On 06/10/2011 17:24, Sarr. wrote:
>>>> On 6-10-2011 17:52, Edek wrote:
>>
>>>> pytanie pozakonkursowe, oczywiscie b i Sth to uproszczenie dla potrzeb
>>>> zadania, zazwyczaj beda to dluzsze nazwy, i w takim wypadku na przyklad:
>>
>>>> myHappyRotator->TComponentInterface<ConstRotatorComp
onent>::GetValue();
>>
>>>> czy taki zapis mozna uznac za elegancki?
>>
>>> Elegancko będzie owinąć to w klasie pochodnej w funkcję, której nazwa
>>> mówi co to jest to, co ona zwraca w kontekście tej klasy.
>>
>> racja. o to chodzilo.
>
> Dodatkowo co jeszcze można zrobić dla poprawienia czytelności kodu to
> nadać klasom bazowym nazwy w klasie pochodnej przy pomocy typedef,
> np.:
> class HappyRotator: public TComponentInterface<ConstRotatorComponent>
> {
> typedef TComponentInterface<ConstRotatorComponent> ConstRotator;
> public:
> RotVal GetConstRotation() {
> return ConstRotator::GetValue();
> }
>
> (oczywiście nazwy funkcji i klasy wziąłem z sufitu, w rzeczywistości
> powinny odzwierciedlać semantykę danych konstrukcji)
Albo:
template <class Comp>
class ValueGetter
{
TComponentInterface<Comp> const * tci;
public:
ValueGetter(TComponentInterface<Comp> const * _tci) : tci(_tci) {};
operator int () { return tci->GetValue(); };
}
Użycie:
int val = ValueGetter<MyRod> (myHappyRotator);
Sprawdziłbym też tuple->get<1>(). Kiedyś zajrzę i sprawdzę o co chodzi,
jak to jest rozwiązane i dlaczego niektóre kompilatory nie pozwalają
na rozwiązanie z member template i trzeba robić get<1>(tuple);
Edek
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-16 W telefonie brak szufladki na drugą kartę SIM
- 2024-12-16 Szukam monitora HDMI ok. 4"
- 2024-12-16 Poznań => Key Account Manager <=
- 2024-12-16 Akwarium w aucie
- 2024-12-16 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-12-16 Warszawa => Expert Recruiter 360 <=
- 2024-12-16 Gdańsk => System Architect (background deweloperski w Java) <=
- 2024-12-16 Warszawa => Key Account Manager <=
- 2024-12-16 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-16 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-16 Warszawa => Programista Microsoft Dynamics 365 Business Central <=
- 2024-12-16 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2024-12-16 Szczecin => Key Account Manager (ERP) <=
- 2024-12-16 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-16 Gdańsk => Specjalista ds. Sprzedaży <=