Portál AbcLinuxu, 24. říjen 2017 02:40

Dotaz: OOP C++ CLion kruznica

27.9. 18:17 kloko | skóre: 1
OOP C++ CLion kruznica
Přečteno: 585×
Odpovědět | Admin
Dobrý deň, Máme zadanie: Navrhnite objekt, jeho vlastnosti a metódy Vytvorte objekt Kruznica, ktorý bude mať nasledovné vlastnosti:

názov: typ znak polomer: typ reálne číslo a nasledovné metódy:

konštruktor s dvoma parametrami: polomer a názov (implicitná hodnota je "K" konštruktor bez parametra(vypýta si polomer aj názov) getery a setery pre polomer aj názov vypočíta obvod kružnice a vráti ho vypočíta obsah kružnice a vráti ho vypíše parametre kružnice (názov, polomer, obsah, obvod) zväčší polomer kružnice o reálnu hodnotu, ktorú dostane ako parameter Odovzdajte zozipovaný súbor, v ktorom bude hlavičkový súbor a zdrojový súbor s implementáciami metód. Rozdelenie metód a vlastností na privátne a súkromné navrhnite sami. // // // neviem si stym moc rady, pretoze som chybal na posldnej hodine a nemam ziadne materialy z ktorych by som si to mohol pripomenut... dufam, ze by sa tu nasiel niekto sikovny a pomohol mi toto napisat.. nieco uz aj napisane mam to davam sem: https://pastebin.com/raw/pxyiTmHG ... v tomto odkaze najdete cca postup ako to riesit ale nie je to uplne syntakticky spravne a neviem si uz moc rady tak pisem sem.

Řešení dotazu:


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

Odpovědi

Řešení 2× (Tommy Angelo, kloko (tazatel))
27.9. 18:45 NN
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máme zadanie
Poradna neslouzi k vypracovavani domacich ukolu.
27.9. 19:31 kloko | skóre: 1
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Ospravedlnujem sa.
28.9. 07:41 MadCatX
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
To není pravda. Pravidla poradny pomoc se školními úlohami samozřejmě dovolují, pokud tazatel předvede rozumnou vlastní snahu problém vyřešit sám. V tom linku na pastebinu to má skoro hotové. Kdyby dal implementaci těch funkcí z kruznice.h do kruznice.cpp, má v podstatě splněno.
27.9. 21:56 Homoděj
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nějak jsem nepochopil zadání. Zde je kód. Žádných referencí, pointerů a tím pádem i constů není vůbec třeba. V jednoduchosti a čitelnosti je síla. Tvůj učitel je idiot a ty taky.
#include <iostream>
#include <string>
#define _USE_MATH_DEFINES
#include <math.h>

class Kruh
{
private:
    std::string m_nazev;
    float m_polomer;
    float m_obsah;
    float m_obvod;

    void vypoctiObsah(){m_obsah = M_PI * (m_polomer * m_polomer);}
    void vypoctiObvod(){m_obvod = 2 * M_PI * m_polomer;}

public:
    Kruh(std::string nazev, float polomer) : m_nazev(nazev), m_polomer(polomer)
    {
        vypoctiObsah();
        vypoctiObvod();
    }

    void setPolomer(float polomer)
    {
        m_polomer = polomer;
        vypoctiObsah();
        vypoctiObvod();
    }

    std::string getNazev() {return m_nazev;}
    float getPolomer() {return m_polomer;}
    float getObsah() {return m_obsah;}
    float getObvod() {return m_obvod;}

    void vypisInfo()
    {
        std::cout << "Nazev kruhu: " << getNazev() << std::endl;
        std::cout << "Polomer kruhu: " << getPolomer() << std::endl;
        std::cout << "Obsah kruhu: " << getObsah() << std::endl;
        std::cout << "Obvod kruhu: " << getObvod() << std::endl << std::endl;
    }

    void vypisDotaz()
    {
        float polomer;
        std::cout << "Zadej novy polomer: ";
        std::cin >> polomer;
        setPolomer(polomer);
    }
};

int main()
{
    Kruh kolo("Kolo Kokot", 15.5552);
    kolo.vypisInfo();
    kolo.vypisDotaz();
    kolo.vypisInfo();

    return 0;
}
28.9. 19:16 2017
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
u te tridy muzete vynechat "private:", class je by default private
28.9. 19:56 Kit | skóre: 38 | Brno
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
"private:" vynechat nemůže, protože je to školní příklad, ve kterém trocha explicity neuškodí.

Byl jsem dosud přesvědčen že class je by default public, resp. friendly. Kromě toho se viditelnost třídy píše jinam.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
1.10. 19:31 Jardik
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Ano, priklad. Takze by mel byt poucny tim, ze se private neuvede, protoze je implicitni. Jinak math.h neincludovat, includovat cmath.
2.10. 00:10 Kit | skóre: 38 | Brno
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Ano, smyslem programování v C++ je dosáhnout maximální hutnosti kódu i za cenu horší srozumitelnosti. Nejasnosti se pak vysvětlí dvojnásobkem povinných komentářů, které stejně překladač ignoruje.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
2.10. 20:52 huehuehue
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Nebylo by lepší z hlediska DRY počítat obsah a obvod až v dané funkci, případně použít memoizaci?

Uznávám, že na takhle jednoduchém příkladu je to úplně jedno. Vlastně mi to připomnělo jeden zajímavý obrázek...
9.10. 08:53 sad
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Měl bych takovou hloupou otázku. To psaní std:: před každou metodou je nějaká konvence, doporučený způsob? Protože kdyby se před private napsalo using namespace std;, tak by ten kód byl nejen o něco přehlednější, ale i hezčí.
9.10. 11:07 Homoděj
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Záleží na preferencích a konvencích, půlka firem je pro using namespace a drůhá proti. Osobně používám using jen místo typedef a normálně píšu namespacy, protože jsem se kolikrát spálil a rozhodně nejsem jediný. Ani ty se tomu asi nevyhneš, protože občas ke kolizím prostě dojde. Co se týká přehlednosti, tak je to dvousečná zbraň. Záleží na velikosti a strukturování kódu.
9.10. 11:35 sad
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Umím trochu C, takže mě C++ docela láká, ale jak si prohlížím knihu The C++ Programming Language, tak se do něj asi pouštět nebudu. To už je genialita hraničící s šílenstvím.
12.10. 23:07 kolemjdouci
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Nejsi sam. Cecko mam "rad", ale nez C++ radeji Java nebo C#. A ted do me ;) za ty dva nenavidene/milovane jazyky
12.10. 23:57 sad
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Jestli ti vyhovuje C a Java, tak zkus Golang. Mně docela sedl.
9.10. 17:10 kloko | skóre: 1
Rozbalit Rozbalit vše Re: OOP C++ CLion kruznica
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ospravedlnujem sa, ze som sa uz dalej nevyjadroval, ale nejak ma zarazil ten komentar, ze nemam pravo sem pisat o pomoc so skolskou ulohou.

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.