#include #include using namespace std; //================================================================DATA class data{ private: int dzien; int miesiac; int rok; public: data(int x, int y,int z){ this->dzien=x; this->miesiac=y; this->rok=z; } void printobj(){ std::cout<<"Dzien: "<dzien<<" "; std::cout<<"Miesiac: "<miesiac<<" "; std::cout<<"Rok: "<rok<<" "; } void setdata(int x, int y,int z){ this->dzien=x; this->miesiac=y; this->rok=z; } int * getdata(){ int tablica[3]; tablica [0]=this->dzien; tablica [1]=this->miesiac; tablica [2]=this->rok; return tablica; } }; //=================================================================OSOBA class osoba{ private: string imie; string nazwisko; data *urodzony; public: //=====================================PRINT void printobj(){ std::cout<<"Imie: "<imie.c_str()<<" "; std::cout<<"Nazwisko: "<nazwisko.c_str()<<" "; this->urodzony->printobj(); } //=======================================SET void setosoba(string imie,string nazwisko,int dzien,int miesiac,int rok){ this->imie=imie; this->nazwisko=nazwisko; this->urodzony= new data (dzien,miesiac,rok); } void setimie(string imie){ this->imie=imie; } void setnazwisko(string nazwisko){ this->nazwisko=nazwisko; } void setdata(int dzien,int miesiac,int rok){ this->urodzony= new data (dzien,miesiac,rok); } //===================================GET string getimie(){ return this->imie; } string getnazwisko(){ return this->nazwisko; } data geturodzony(){ return *this->urodzony; } //=====================================KONSTRUKTORY osoba(string imie,string nazwisko,int dzien,int miesiac,int rok){ this->imie=imie; this->nazwisko=nazwisko; this->urodzony= new data (dzien,miesiac,rok); } osoba(){ this->imie="NN"; this->nazwisko="NN"; this->urodzony= new data (0,0,0); } //===================================DESTRUKTORY ~osoba(){ delete urodzony; } }; //=================================================FUNKCJJE void wypisz (osoba x){ x.printobj(); } void wypisz (data x){ x.printobj(); } void pobierzdata(data x){ int* tab=x.getdata(); } void pobierzosoba(osoba x){ string imie=x.getimie(); string nazwisko=x.getnazwisko(); data urodzenia=x.geturodzony(); int* tab=urodzenia.getdata(); int dzien=tab[0]; int miesiac=tab[1]; int rok=tab[2]; } ostream& operator<< (ostream& strumien, osoba p){ strumien << p.imie << ", " << p.nazwisko; return strumien; } void main(){ //data obiekt(12,8,2014); /*osoba wladek; wladek.getosoba();*/ osoba adam("adam","nowak",12,8,2001); osoba *ewa=new osoba("ewa","nowak",1,2,2002); ewa->setdata(2,12,1993); ewa->printobj(); pobierzosoba(*ewa); wypisz(*ewa); delete ewa; getch(); } //======================================================================================= // ZAD2_PO.cpp : Defines the entry point for the console application. // #include #include "stdafx.h" class pkt{ private: int x, y; public: friend class prosta; pkt(int x = 0, int y = 0){ this->x = x; this->y = y; } void wypisz(){ std::cout << "Punkt X: \t" << this->x << "\n"; std::cout << "Punkt Y: \t" << this->y << "\n"; } pkt suma(pkt p){ p.x = this->x + p.x; p.y = this->y + p.y; return p; } int getX(){ return this->x; } int getY(){ return this->y; } void setX(int X){ this->x = X; } void setY(int Y){ this->y = Y; } //~~~~~~~~~~~~~~~~~~PRZELADOWNY OPERATOR W KLASIE pkt pkt::operator+(pkt p1){ p1.x += this->x; p1.y += this->y; return p1; }; }; //~~~~~~~~~~~~~~~~~~~PRZELADOWNY OPERATOR GLOBALNY /* pkt operator+(pkt p1, pkt p2){ pkt rezultat; int x = p1.getX(); int y = p1.getY(); int x2 = p2.getX(); int y2 = p2.getY(); rezultat.setX(x + x2); rezultat.setY(y + y2); return rezultat; } */ //========================================================================================= class prosta{ friend class pkt; pkt punktA, punktB; public: prosta(pkt p1, pkt p2){ this->punktA = p1; this->punktB = p2; }; void wypisz(){ std::cout << "\n\nProsta przechodzaca przez punkty \nA=" << "[" << punktA.getX() << ',' << punktA.getY() << "]\n" "B=" << "[" << punktB.getX() << ',' << punktB.getY() << "]" "\nMa rownanie: " ; } }; pkt roznica(pkt p1, pkt p2){ pkt p3(0,0); int x = p1.getX(); int y = p1.getY(); int x2 = p2.getX(); int y2 = p2.getY(); p3.setX(x - x2); p3.setY(y - y2); return p3; } void wypisz(pkt p1){ std::cout << "Punkt X: \t" << p1.getX() << "\n"; std::cout << "Punkt Y: \t" << p1.getY() << "\n"; } int main() { //int x, y; pkt p1, p2(2, 5), p3(3, 7), p4(p3); prosta pr2(p2, p3); p3.wypisz(); p2.wypisz(); p1 = p2.suma(p3); p1.setX(10); p1.setY(10); p1.wypisz(); p2 = roznica(p1, p3); p2.wypisz(); p4.setX(0); p4.setY(0); p4 = p1 + p2; p4.wypisz(); pr2.wypisz(); system("Pause"); } //===================================================================== #pragma once #include using namespace std; class dane_kontaktowe { public: string ulica, miasto; int tel; public: dane_kontaktowe(); dane_kontaktowe(dane_kontaktowe&); dane_kontaktowe(string,string,int); ~dane_kontaktowe(void); void wypisz(); }; #pragma once #include #include "dane_kontaktowe.h" using namespace std; class osoba { protected: string imie; string nazwisko; int wiek; dane_kontaktowe dk; public: osoba(); osoba(string,string,int,dane_kontaktowe); osoba(osoba &); void wypisz(); ~osoba(void); }; #pragma once #include "osoba.h" #include using namespace std; class pracownik : public osoba { protected: string departament, stanowisko; int zarobki; public: pracownik(); pracownik(string, string, int, dane_kontaktowe, string, string, int); pracownik(pracownik&); void wypisz(); ~pracownik(void); }; #pragma once #include "parcownik.h" #include using namespace std; class pracownik_administracyjny : public pracownik { protected: string kierunek; int pokoj; int nr_ident; public: pracownik_administracyjny(); pracownik_administracyjny(string, string, int, dane_kontaktowe, string, string, int, string, int, int); pracownik_administracyjny(pracownik_administracyjny&); void wypisz(); ~pracownik_administracyjny(void); }; #pragma once #include "parcownik.h" class pracownik_naukowy : public pracownik { protected: string dziedzina; int liczba_publikacji; int indeks; public: pracownik_naukowy(); pracownik_naukowy(string, string, int, dane_kontaktowe, string, string, int, string, int, int); pracownik_naukowy(pracownik_naukowy&); void wypisz(); ~pracownik_naukowy(void); }; #pragma once #include #include "osoba.h" using namespace std; class student : public osoba { protected: string wydzial, kierunek; int nr_indeksu; public: student(); student(string,string,int,dane_kontaktowe, string,string,int); student(student&); void wypisz(); ~student(void); }; #include "StdAfx.h" #include "dane_kontaktowe.h" dane_kontaktowe::dane_kontaktowe() { ulica="Ulica"; miasto="Miasto"; tel=0; } dane_kontaktowe::dane_kontaktowe(dane_kontaktowe &dk) { ulica=dk.ulica; miasto=dk.miasto; tel=dk.tel; } dane_kontaktowe::dane_kontaktowe(string u,string m, int t) { ulica=u; miasto=m; tel=t; } void dane_kontaktowe::wypisz() { std::cout<<"Dane kontaktowe: \n"; std::cout< using namespace std; pracownik_naukowy::pracownik_naukowy() : pracownik() { dziedzina="dziedzina"; liczba_publikacji=0; indeks=0; } pracownik_naukowy::pracownik_naukowy(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z, string di, int lp, int in) : pracownik(i,n,tel,dk, d,s,z) { dziedzina=di; liczba_publikacji=lp; indeks=in; } pracownik_naukowy::pracownik_naukowy(pracownik_naukowy &pn) { dziedzina=pn.dziedzina; liczba_publikacji=pn.liczba_publikacji; indeks=pn.indeks; } pracownik_naukowy::~pracownik_naukowy(void) {} #include "StdAfx.h" #include "student.h" student::student() :osoba() { wydzial="wydzial"; kierunek="kierunek"; nr_indeksu=0; } student::student(string i, string n, int tel, dane_kontaktowe dk, string w, string k, int ni) : osoba(i,n,tel,dk) { wydzial=w; kierunek=k; nr_indeksu=ni; } student::student(student &s) { wydzial=s.wydzial; kierunek=s.kierunek; nr_indeksu=s.nr_indeksu; } void student::wypisz() { osoba::wypisz(); cout<<"Student: \n"; cout<