Stránka 1 z 1

OOP v jazyce C++

Napsal: 16 říj 2014 20:38
od gore227
Ahoj, mel bych na Vas otazku.
Kde bych sehnal obsahlejsi referenci o OOP v jazyce C++. Prochazel jsem knizky C++ za 21 dni a Mistrostvi v C++ a nenasel jsem zatim jeste nejaky vetsi projekt, kde by se s OOP pracovalo. Potreboval bych nejakou osvedcenou stranku s kody, ktere obsahuji nejaky projekt, kde jsou veci popsane v clanku nebo aspon v komentarich, ale to docela zretelne.
Je jedno jestli AJ nebo CJ.
Mym cilem je pochopit plne OOP, dokazat cist a pochopit jine projekty, pracovat na svych projektech.
Ted zvladam v OOP akorat nejake vypisy pres void, kde funkce nemaji navratovou hodnotu.
Treba:

Kód: Vybrat vše

#include <cstdlib>
#include <iostream>
#include "Kocka.h"

using namespace std;
int main()
{
    Kocka micka("Matous",7,"cerna");
    Kocka micka2("Samik",8,"cerno-bila");
    Kocka micka3("Sofina",1,"seda");
    micka.pozdrav();
    micka2.pozdrav();
    micka3.pozdrav();
    micka.behej();
    micka2.behej();
    micka3.behej();

    system("PAUSE");
    return 0;
}

Kód: Vybrat vše

#include "Kocka.h"
#include <conio.h>
#include <cstdlib>

#include <iostream>
using namespace std;

Kocka::Kocka(string jmeno,unsigned int vek,string barva_srsti)
{
    //Nastavime spravne hodnoty ukazatelem this->
    this->barva_srsti=barva_srsti;
    this->jmeno=jmeno;
    this->vek=vek;
}
Kocka::~Kocka()
{
}
void Kocka::pozdrav()
{
    cout <<"Ahoj jmenuji se " << jmeno
        <<" mam " << vek << " let a moje srst je " << barva_srsti << endl;
}
int Kocka::behej()
{
    char volba='a';
    int i=0;
    cout << "Vitej kocko " << jmeno << endl;
    cout << "Zacni behat stisknutim klavesy (w). Dokonci beh (q)." << endl;
    while(volba!='q'){
        volba = getch();
        i++;
    }
    cout << "Ubehnuta vzdalenost: " << i << endl;
    return i;
}

Kód: Vybrat vše

#ifndef KOCKA_H
#define KOCKA_H

//kvuli string, vyhnuti se std::
#include <iostream>
using namespace std;

//trida
class Kocka
{
    public:
        //konstruktor
        Kocka(string jmeno,unsigned int vek,string barva_srsti);
        //destruktor
        ~Kocka();
        void pozdrav();
        int behej();
        //void poradi_behu(string jmeno);
        string jmeno;
    //chranena
    protected:

    //soukroma
    private:

        unsigned int vek;
        string barva_srsti;
};
#endif // KOCKA_H


Neumim a jeste nechapu navratove hodnoty v OOP a pak propojenost tech hodnot funkci v jinych funkcich nebo v jinych funkcich od jine tridy (<-pokud to jde..)

Re: OOP v jazyce C++

Napsal: 16 říj 2014 21:04
od Sender

Re: OOP v jazyce C++

Napsal: 16 říj 2014 21:17
od gore227
Aha, tak tuhle neznam. Ze zahranicnich jsem se dival jen na pastebin a hledal....

Re: OOP v jazyce C++

Napsal: 17 říj 2014 14:39
od gore227
Vi nekdo jeste o jinych strankach, kniha ?

Re: OOP v jazyce C++

Napsal: 18 říj 2014 00:53
od CZechBoY
Čau,
tak vracet hodnoty ve funkci je jednoduchý... stačí ti k tomu return
Co přesně nechápeš na tom OOP?

Re: OOP v jazyce C++

Napsal: 19 říj 2014 23:56
od gore227
No uz to chapu o neco vice. Jeste jsem se ale nedival jak to bude kdyz vytvorim novou tridu a chtel bych pak pracovat s hodnotami obou tech trid...
Jinak kdybych chtel zjistit kdo je vitez, tedy bych chtel porovnat atribut vsech Kocek, tak to mam udelat v mainu, ze ?

main
kocka.cpp
kocka.h