C++ a zapouzdreni – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ a zapouzdreni – C / C++ – Fórum – Programujte.comC++ a zapouzdreni – C / C++ – Fórum – Programujte.com

 

ilidian
~ Anonymní uživatel
4 příspěvky
17. 11. 2009   #1
-
0
-

Dobry den mam zadani : Navrhnete trídu kontejner, která bude realizovat knihovnu pro práci s vybraným jednoduchým (int, float ...) typem, který bude zapouzdren v dodané tríde CData. Tato knihovna bude realizovat cinnost s kontejnerem podle následujících bodu (pokud je to mozné, bude splnovat ocekávané chování jednoduchých typu (int, float ...)).

Tady je trda CData: http://www.uamt.feec.vutbr.cz/~richter/vyuka/0910_ppc/bppc/cviceni/CData.zip

Bohuzel nikdo nam nevysvetlil termin zapouzdreni. Moje knihovna ma fungovat jako pole. Mohl by mi tady nekdo napsat priklad jak by mnela vypadat ta moje knihovna a priklad konstruktoru pripadne nejakeho operatoru pro scitani?? Knihovna ma byt napsana tak aby mohla pracovat s libovolnym typem CData(int, float, double, char)


Diky

Nahlásit jako SPAM
IP: 90.178.169.–
KIIV
~ Moderátor
+43
God of flame
17. 11. 2009   #2
-
0
-

velice zjednodusene je princip zapouzdreni v tom, ze striktne oddelujeme vnitrni promenne tridy od vnejsiho prostredi a dovolujeme manipulaci s nimi jen pomoci takzvanych metod objektu.. (casto take oznacovane jako zasilani zprav.. )
- jednoduse receno veskere promenne uvnitr objektu by nemely byt "viditelne" ze zbytku programu.. jedine v objektu samotnem..

ucel je zachovat "konzistenci" dat.. tj aby tam nejaka cast programu nezapsala nesmysl a tim se slozil celej objekt..
resp aspon je takova idea, ze si v metodach udelas kontrolu dat a nedovolis tam nejakej nesmysl...




Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
dannyk0
Věrný člen
17. 11. 2009   #3
-
0
-

Koukej, princip zapouzdreni je ten, ze se nesmis dostat k vnitrnim tridnim promennym primym pristupem. Tj, ze vsechny vnitrni promenne bys mel mit private a pristupovat k nim pomoci public metod.



class A {
private:
int _count;
public:
int Lenght();
}

pak pristup pomoci

int c = A->Lenght();

a ne pomoci

int c = A->_count; //momentalne to ani nepujde, protoze je private

Takhle nejak to priblizne vypada. Najdi si nejake texty o OOP a mrkni se detailneji.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
ilidian
~ Anonymní uživatel
4 příspěvky
17. 11. 2009   #4
-
0
-

V tom pripade jak by mnela ta moje knihovna pracovat z tou tridou CData??

Nahlásit jako SPAM
IP: 90.178.169.–
ilidian
~ Anonymní uživatel
4 příspěvky
17. 11. 2009   #5
-
0
-

Nebo se zeptam jinak jak byjste pristupovali do te zapouzdrene tridy CData?? Nebo je nejakej spuzob ja zjistit jakeho typu je instance vytvorena tou tridou CData jestli to je (INT, FLOAT, CHAr...)

Nahlásit jako SPAM
IP: 90.178.169.–
dannyk0
Věrný člen
17. 11. 2009   #6
-
0
-

Co jsem tak na rychlo kouknul, tak jediny podporovany typ pro ulozeni hodnoty je bool, jinak zadny jiny. Pristupovat by jsi k ni mel pres jeji public metody.

Pro tvuj konkretni problem, no jako reseni bych videl si pretezit metody na ostatni datove typy nebo ji vytvorit jako sablonu, ale to je trochu tezsi, ale za to ucinnejsi.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
18. 11. 2009   #7
-
0
-

Chlape vidim ze delas taky projekt do BPPC,,delam taky pole,kdyztak hod sem ICQ muzem se spojit :smile3:

Nahlásit jako SPAM
IP: 78.45.70.–
ilidian
~ Anonymní uživatel
4 příspěvky
19. 11. 2009   #8
-
0
-

maniakk@email.cz posli tam nejakej kontakt poslu icq ;)

Nahlásit jako SPAM
IP: 90.178.169.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 71 hostů

Podobná vlákna

Zapouzdření. — založil Montezo

Zapouzdření — založil hejnallukas

Zapouzdření souborů do aplikace — založil Anonymní uživatel

Oop zapouzdření collection — založil xmlatickax

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý