C++ rozlisovanie "rovnakych" funkcii

Programovacie jazyky, rady, poradňa...
Jimmy
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 275
Registrovaný: 22 mar 2008, 15:15
Bydlisko: Badín/Brno
Kontaktovať používateľa:

C++ rozlisovanie "rovnakych" funkcii

Príspevok od používateľa Jimmy »

zdravicko, moj problem je nasledovny:

mam vlastny VC++ projekt, v ktorom by som potreboval vyuzivat niekolko samostatnych implementacii (v samostatnych cpp suboroch), z ktorych kazda vyuziva na komunikaciu s okolim funkcie s identickym nazvom, navratovou hodnotou a parametrami.......je mi jasne ze nazvy identicke zostat nemozu, ale navratova hodnota + parametre zostat musia

je teda mozne medzi tymito funkciami rozlisovat inym sposobom, ako napr. zobrat switch-case a v kazdom z case-ov mat rovnaky kus kodu, len s rozdielnym nazvom funkcie? :) .....dakujem vopred za akekolvek napady


(pardon za nazov topicu, nevedel som to vystiznejsie nazvat :D )
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ rozlisovanie "rovnakych" funkcii

Príspevok od používateľa BX »

Ak som správne pochopil, na to slúžia namespace-y.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: C++ rozlisovanie "rovnakych" funkcii

Príspevok od používateľa c-ice »

hmm tym ze by napisal nieco taketo ... Trieda1::funkcia(a); ... Trieda2::funkcia(a); by sa switch-case nevyhol ale je to zaklad ako ich rozlist ... mne sa zda ze ty potrebujes volat rovnaku funkciu implementovanu vo viacerych triedach tak to chapem ja ... takze riesenie je spravit Base class ... z ktorej tieto funkcie budu dedit stým ze táto funkcia bude virtual takze v kazdej podtriede ju budes musiet implementovať ... a potom ked ty niekde budes potrebovat volat tu funkciu pre objekty z roznych tried ktore dedia z BaseClass tak spravis asi takto nejak ...

Kód: Vybrať všetko

((BaseClass)objektZoZdedenejTriedy).virtualnaFunkciaZrovnakymMenomAparametramiPreVsetkyTriedy(a); 
a zavola sa spravna funkcia ktoru potrebujes podla objektu
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

Re: C++ rozlisovanie "rovnakych" funkcii

Príspevok od používateľa johny3212 »

Zozen si daku dobru knihu a najskor si nieco precitaj o programovani a moznostiach jazyka a hlavne OOP :). Abstrakcia a dedicnost patria medzi zakladne vlastnost OOP, mal by si ich poznat, ak chces programovat.
Napísať odpoveď