abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
včera 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

Ladislav Hagara | Komentářů: 0
včera 12:33 | Nová verze

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
včera 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 4
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 5
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 0
15.8. 10:55 | Nová verze

Byla vydána (pdf) verze 3 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Ke stažení je v edicích Budgie, GNOME a MATE. Z novinek lze zmínit například podporu snapů. Solus 3 obsahuje Firefox 55.0.1, LibreOffice 5.4.0.3, Rhythmbox 3.4.1 nebo Thunderbird 52.2.1. Edice Budgie a GNOME přichází s GNOME MPV 0.12. Edice MATE s VLC 2.2.6.

Ladislav Hagara | Komentářů: 5
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (77%)
Celkem 346 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: pretaženie operatora s konštantou naľavo

    Xgamer avatar 20.4.2011 19:04 Xgamer | skóre: 4
    pretaženie operatora s konštantou naľavo
    Přečteno: 122×
    Zdravím, mam za úlohu nakodiť "knihovnu" na základne operácie s komplexnými číslami. Samozrejme relatívne jednoduchá úloha, ktorá sa dá vyriešiť pomocou preťažovanie operátorov. Avšak v tom je aj ten problém :). Neviem totiž ako spraviť aby mi fungovalo napríklad niečo takéto c1 = 2 * c1 Opačne čiže c1*2 funguje bezproblémovo, ale neviem ako spraviť aby to fungovalo aj naopak, neviem ako to zapísať. Ďakujem za pomoc

    Odpovědi

    20.4.2011 19:29 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo

    Je potřeba, aby vaše třída měla konstruktor, který půjde volat s jedním reálným parametrem, tj. např.

    class Cplx {
    protected:
      double x;
      double y;
    public:
      Cplx(double xx=0.0, double yy=0.0) : x(xx), y(yy) {}
    };
    
    20.4.2011 19:35 Sten
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Jednoduše udělejte operátor mimo třídu a se dvěma parametry:
    Complex operator *(const double &left, const Complex &right);
    Xgamer avatar 21.4.2011 20:11 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Ano tak by to šlo ale gcc mi stále hlasi že už mam viacnasobnu definiciu operatora. Ide o to že ja potrebujem spraviť:
    Complex operator *(Complex &c1, Complex &c2)
    Complex operator *(const double &num, Complex &c)
    Complex operator *(Complex &c, const double &num)
    Som z toho trošku jeleň, na googli nemožem nič rozumne k tomu najsť niečo čo by riešilo všetky pripady ako potrebujem ja... Ako som pochopil tak to nemožem všetko nadefinovať ako metody, resp. v tele triedy ale ako friend funkcie no ani tak mi to nefunguje.

    Časť triedy:
    class Complex
    {
        public:
            Complex(){};
            Complex(double re, double im);
            friend Complex operator * (Complex &c1,const double &num) ;
            friend Complex operator * (const double &num, Complex &c1) ;
            friend Complex operator * (Complex &c1, Complex &c2);
            void Display();
        private:
            double re;
            double im ;
    };
    Ďakujem za pomoc :)
    21.4.2011 20:33 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    A zkoušel jste to, co jsem vám poradil v první odpovědi?
    Xgamer avatar 21.4.2011 21:54 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Skúšal som to, stale mi to hlási viacnásobná definicia...
    21.4.2011 22:18 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo

    V tom případě ukažte, co přesně jste zkoušel, protože to funguje:

    #include <iostream>
    
    class C {
    public:
      double x;
      double y;
      C(double xx=0.0, double yy=0.0) : x(xx), y(yy) {}
    };
    
    inline const C operator * (const C& a, const C& b)
    {
      return C(a.x*b.x-a.y*b.y, a.x*b.y+a.y*b.x);
    }
    
    int main()
    {
      C a(3,5);
      C b;
    
      b = 2 * a;
    
      std::cout << b.x << " + " << b.y << "i\n";
    
      return 0;
    }
    
    21.4.2011 20:43 __dark__
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    A nemělo by to být spíš takto?
    Complex operator *(const Complex &c1, const Complex &c2)
    Complex operator *(const double &num, const Complex &c)
    Complex operator *(const Complex &c, const double &num)
    
    A napiš to mimo tělo té třídy, jak radil Sten.
    21.4.2011 21:06 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Není u double ta konstantní reference trochu overkill?
    Xgamer avatar 21.4.2011 21:58 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Neviem, tak sa v tom nevyznam :)vždy to bude len konštatne čislo tak neviem. Každá nová vedomosť je dobrá :)
    21.4.2011 22:21 Sten
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    No jak na které architektuře, jsem holt zvyklej na ty starý (16-bit, 32-bit), kde bylo lepší všechno, co je větší než registr a není konstanta, předávat referencí, ale na 64-bitovém počítači už se double vejde do registru, tak tam je to zbytečný.
    21.4.2011 23:28 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Nejenom zbytečné. Pokud to totiž budete opravdu předávat přes pointer (který je mimochodem stejně velký jako double), znamená to zdržení na jeho dereferencování. V praxi je ale samozřejmě otázka, co z toho v konkrétním případě udělá kompilátor.
    Xgamer avatar 21.4.2011 21:56 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    No vyzerá to že si prehádzal len poradie? No nenapadlo ma že by to s tým niečo mohlo mať, ale skusil som to a stale to iste:( ono pokial nemam zadefinovaný operator pre riešenie ked je na lavej strane tá konštanta tak to ide...

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.