Portál AbcLinuxu, 7. června 2024 23:11


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
9.3.2008 12:24 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Maly kviz z C++
Odpovědět | Sbalit | Link | Blokovat | Admin
Co to je za prasečinu, deklarovat funkci jako ryze virtuální, abys ji v zápětí dodefinoval? Byl bych se hádal, že to kompilátor nevezme. A von jo :).
A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
9.3.2008 12:34 skywaker
Rozbalit Rozbalit vše Re: Maly kviz z C++
pekneeee
9.3.2008 12:36 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Maly kviz z C++
Udelam jeste jeden zapisek kde vse vysvetlim, protoze se zatim zda, ze lidi moc nevidej ten par dusledku, teto funkcionality.
9.3.2008 13:07 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
No, jsem docela zvedavej na ty dusledky :-) Ale jinak hezky, standard rika pouze ze deklarace nesmi kombinovat pure specifier a definici.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
9.3.2008 17:55 Jirka P
Rozbalit Rozbalit vše Re: Maly kviz z C++
Taky jsem zvědavý na ty důsledky, je ještě něco jinýho než že takovou funkci lze zavolat jen nevirtuálně? Dobrý je to leda tak na destruktory.
9.3.2008 15:00 depka
Rozbalit Rozbalit vše Re: Maly kviz z C++
Odpovědět | Sbalit | Link | Blokovat | Admin
proc mas tela funkci v headeru i v implemetacnim souboru a proc puzivas asemblerovsky styl kdyz mluvis o objektech?
9.3.2008 15:03 depka
Rozbalit Rozbalit vše Re: Maly kviz z C++
pardon, to prvni neplati, blbe sem se dival..:)
9.3.2008 15:06 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Maly kviz z C++
tela funkci u konstruktoru a destruktoru v hlavicce je jen drobnost, kterou se nevyplati psat do zdrojaku (ten konstruktor ani byt nemusel..no ani destruktor, ale to uz neni uplne dobrej styl).
Assemblerovsky styl tam moc nevidim, muzes ukazat priklad? Ale v posledni dobe sem dost psal v assembleru, tak se to mohlo na mem stylu trochu projevit.
9.3.2008 15:12 depka
Rozbalit Rozbalit vše Re: Maly kviz z C++
ten styl je ze otevirajici slozenou zavorku pises hned za hlavicku funkce a ne na novy radek
9.3.2008 16:12 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Maly kviz z C++
A to je assemblerovsky styl???
to je podle mne naprosto normalni styl, jeden z mnoha kterym se pise kod. Kazdymu vyhovuje jiny a dokud je celej kod psanej jednim stylem, tak je to v poradku...takhle napriklad pisu i v jave.
kozzi avatar 9.3.2008 17:28 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Maly kviz z C++
No on je to totiz javovskej styl :-D
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
9.3.2008 18:23 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Maly kviz z C++
Jo tomu se da uz spis verit nez tomu assemblerovskymu :) Sem si rikal kde ze to v tom assembleru jsou ty zavorky :)
9.3.2008 18:52 depka
Rozbalit Rozbalit vše Re: Maly kviz z C++
zavorky ne, ale s tim odsazenim hned na druhem radku to tak vypada, ale samozrejme je to jenom styl...
9.3.2008 20:56 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: Maly kviz z C++
Assembler? Ehm.
9.3.2008 15:12 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Celkem normalni kombinace. Tela v implementacnich souborech neni mozne inlinovat a davat vsechno do hlavicek je zase bordel a zpomaluje to kompilaci.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
9.3.2008 22:56 zippy
Rozbalit Rozbalit vše Re: Maly kviz z C++
Odpovědět | Sbalit | Link | Blokovat | Admin
imho to bude fungovat a normalne sa to pouziva - napr. vyvijam kniznicu a chcem aby reakcie na nejake podnety naprogramoval user (vlastna a momentalna skusenost s gloox) => dam metodu virtualnu. Prip. chcem, aby niektore metody mohol uzivat prekryt svojimi..
10.3.2008 01:40 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Jses trochu mimo :-D Trochu dost.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
10.3.2008 13:19 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Maly kviz z C++
Odpovědět | Sbalit | Link | Blokovat | Admin
Samozřejmě, že je to naprosto v pořádku. Jedná se o běžný trik, kdy chci třídu udělat abstraktní - tedy aby nebylo možné vytvořit instanci třídy. A pokud nemám po ruce žádnou metoduy, kterou bych udělat jako "pure virtual", pak se prostě napíše za destruktor = 0 a je to. Destruktor samozřejmě definován (tedy mít tělo) musí, a to i tehdy, pokud je jako metoda "pure virtual".

Proč náš taky autor zkouší z naprosto samozřejmých věcí, které jsou pro C++ začátečníky?
http://ponkrac.net
10.3.2008 15:10 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Co to je za debilni reseni? :-D Kdyz nechci aby slo vytvorit instanci tridy, tak ji proste udelam chraneny konstruktor. Proc bych proboha mel kvuli takove blbosti zbytecne zpomalovat kod?
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
10.3.2008 22:03 Jirka P
Rozbalit Rozbalit vše Re: Maly kviz z C++
  1. Pokud chcete, aby urcita trida existovala jen ve svych potomcich, je vas postup neucinny
  2. Zpomalovani je to pouze pokud je trida jinak nepolymorfni a klient si ji uchovava v pointrech na potomky
  3. Vpodstate jde o to, pokud verite na abstraktni tridy a Template Pattern, udelat tridu abstraktni a soucasne ji implementovat vsechny metody
10.3.2008 22:14 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
1) Asi jsem natvrdlej, ale co je konkretne neucinneho? 2) Ok, zpomaleni jsem psat nemel, to je pouze teoreticke, pokud budu volat tu konkretni metodu. 3) Mne prave nedocvakava na co je dobre implementovat vsechny metody, kdyz stejne nevytvorim instanci a vsechny implementace budou diky polymorfizmu zakryvat tu puvodni.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
10.3.2008 22:51 Jirka P
Rozbalit Rozbalit vše Re: Maly kviz z C++
1) return new Class; porad funguje, akorat se da pouzit pouze v potomcich a friendech

3) Treba ti potomci budou kazdy nejakou metodu implementovat (kazdy jinou) a zbytek pouzit z predka. Jak rikam, pokud verite na Template Pattern (ja treba verim na to, ze je lepsi se ji vyhnout :-) ) muzete takovy veci potrebovat.
11.3.2008 01:01 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Tak u mne ani jedno neprojde. Pokud neuvedu implementaci nektere z ciste virtualnich metod => chyba. Pokud se pokusim o new A => chyba.
class A
{
        public:
        A() {}
        virtual void nic() = 0;
};

void A::nic() { cout << "A" << endl; }

class B : public A
{
        public:
        B() { }
        void nic(){ cout << "B" << endl; }
//      A* getA() { return new A; }
};

int main()
{
        B* x = new B;
        //A* y = x.getA();
        static_cast<A*>(x)->nic();
        dynamic_cast<A*>(x)->nic();
        reinterpret_cast<A*>(x)->nic();
        x->A::nic();
}
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
11.3.2008 01:03 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Ted koukam ze tu jednicku jsem spatne pochopil. No return new Class nefunguje, protoze new neni friend Class ;-)
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
11.3.2008 02:05 Jirka P
Rozbalit Rozbalit vše Re: Maly kviz z C++
Jo, mate pravdu, nejde to (kvuli tomu ze protected veci lze videt v odvozene tride pouze skrz pointer na tu odvozenou tridu).
11.3.2008 19:29 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Maly kviz z C++
Odpovědět | Sbalit | Link | Blokovat | Admin
Bude to fungovat, ale ..

Dost záleží na tom, čemu přesně programátoři v C++ říkají, že "funguje".
Táto, ty de byl? V práci, já debil.
11.3.2008 22:46 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Maly kviz z C++
No tady to znamena, ze prelozeny program vypise
a z fce
b z fce

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.