Untitled
unknown
plain_text
4 years ago
3.1 kB
8
Indexable
triedy.h #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include<iostream> using namespace std; /********************* definicie tried programu ***************************/ class RodneCislo { private: char rodcis[12]; int pohlavie; // 0 - zena, 1 - muz public: RodneCislo() {} //explicitny parametricky konstruktor RodneCislo(char* r); char* VratRC(); int VratDen(); int VratMesiac(); int VratRok(); int VratPohlavie(); void ZmenRC(char* r); //Operatorova funkcia prepisaneho operatora bitoveho posuvu pre triedu 'RodneCislo' musi byt //deklarovana so specifikatorom pristupu 'friend', aby mohol prepisany operator pristupovat //k sukromnym datovym clenom triedy 'RodneCislo'. //Tato operatorova funkcia musi vratit referenciu na prud, ktory dostava ako vstupny parameter, //pretoze inak by nefungovalo "retazenie" prepisanych operatorov '<<' friend ostream& operator<<(ostream& vyst_prud, RodneCislo r); }; class Osoba { private: char meno[20], priezvisko[20]; public: //Pretoze vo funkcii 'main' vytvarame staticke pole objektov typu 'Osoba', //a k jeho inicializacii sa default-ovo pouzije bezparametricky konstruktor triedy 'Osoba', //ktory musi existovat, tak ho tu musime vytvorit //a navazne nan aj bezparametricky konstruktor triedy 'RodneCislo', pretoze jej objekt je //zakomponovany do triedy 'Osoba' Osoba() {} ~Osoba() {} //bezparametricky destruktor //vytvorenie objektu 'rc' triedy 'RodneCislo' v triede 'Osoba', cim sa stane objekt triedy 'Osoba' //zlozenym objektom, skladajucim sa aj z objektu 'rc' (kompozicia objektov) RodneCislo rc; //explicitny parametricky konstruktor Osoba(char*, char*, char*); char* VratMeno(); char* VratPriezvisko(); void ZmenMeno(char*); void ZmenPriezvisko(char*); //Operatorova funkcia prepisaneho operatora bitoveho posuvu pre triedu 'Osoba' musi byt //deklarovana so specifikatorom pristupu 'friend', aby mohol prepisany operator pristupovat //k sukromnym datovym clenom triedy 'Osoba'. //Tato operatorova funkcia musi vratit referenciu na prud, ktory dostava ako vstupny parameter, //pretoze inak by nefungovalo "retazenie" prepisanych operatorov '<<' friend ostream& operator<<(ostream& vyst_prud, Osoba o); }; class Zamestnanec :public Osoba { private: long int mzda; int cis_prevadzky; public: Zamestnanec() {}; //explicitny parametricky konstruktor Zamestnanec(char*, char*, char*, long int, int); int VratCis_prevadzky(); long int VratMzdu(); void ZmenCis_prevadzky(int); void ZmenMzdu(long int); //Operatorova funkcia prepisaneho operatora bitoveho posuvu pre triedu 'Zamestnanec' musi byt //deklarovana so specifikatorom pristupu 'friend', aby mohol prepisany operator pristupovat //k sukromnym datovym clenom triedy 'Zamestnanec'. //Tato operatorova funkcia musi vratit referenciu na prud, ktory dostava ako vstupny parameter, //pretoze inak by nefungovalo "retazenie" prepisanych operatorov '<<' friend ostream& operator<<(ostream& vyst_prud, Zamestnanec z); };
Editor is loading...