#include <iostream>
#include <conio.h>
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: "<<this->dzien<<" ";
std::cout<<"Miesiac: "<<this->miesiac<<" ";
std::cout<<"Rok: "<<this->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: "<<this->imie.c_str()<<" ";
std::cout<<"Nazwisko: "<<this->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 <iostream>
#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 <iostream>
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 <iostream>
#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 <iostream>
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 <iostream>
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 <iostream>
#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<<ulica.c_str()<<" ";
std::cout<<miasto.c_str()<<" ";
cout<<tel<<endl;
}
dane_kontaktowe::~dane_kontaktowe(void)
{
}
#include "StdAfx.h"
#include "osoba.h"
osoba::osoba()
{
imie="imie";
nazwisko="nazwisko";
wiek=0;
dk.miasto="miasto";
dk.ulica="ulica";
dk.tel=0;
}
osoba::osoba(string i,string n,int w,dane_kontaktowe d)
{
imie=i;
nazwisko=n;
wiek=w;
dk;
}
osoba::osoba(osoba &o)
{
imie=o.imie;
nazwisko=o.nazwisko;
wiek=o.wiek;
dk=o.dk;
}
void osoba::wypisz()
{
dk.wypisz();
cout<<"osoba: \n";
cout<<imie.c_str()<<" ";
cout<<nazwisko.c_str()<<" ";
cout<<wiek<<endl;
}
osoba::~osoba(void)
{
}
#include "StdAfx.h"
#include "parcownik.h"
pracownik::pracownik() : osoba ()
{
departament="departament";
stanowisko="stanowisko";
zarobki=0;
}
pracownik::pracownik(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z) : osoba(i,n,tel,dk)
{
departament=d;
stanowisko=s;
zarobki=z;
}
pracownik::pracownik(pracownik &p)
{
departament=p.departament;
stanowisko=p.stanowisko;
zarobki=p.zarobki;
}
pracownik::~pracownik(void)
{
}
#include "StdAfx.h"
#include "pracownik_administracyjny.h"
pracownik_administracyjny::pracownik_administracyjny() : pracownik()
{
kierunek="kierunek";
pokoj=0;
nr_ident=0;
}
pracownik_administracyjny::pracownik_administracyjny(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z, string k, int p, int ni) : pracownik(i,n,tel,dk, d,s,z)
{
kierunek=k;
pokoj=p;
nr_ident=ni;
}
pracownik_administracyjny::pracownik_administracyjny(pracownik_administracyjny &pa)
{
kierunek=pa.kierunek;
pokoj=pa.pokoj;
nr_ident=pa.nr_ident;
}
pracownik_administracyjny::~pracownik_administracyjny(void)
{}
#include "StdAfx.h"
#include "pracownik_naukowy.h"
#include <iostream>
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<<wydzial.c_str()<<" ";
cout<<kierunek.c_str()<<" ";
cout<<nr_indeksu<<endl;
}
student::~student(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<<wydzial.c_str()<<" ";
cout<<kierunek.c_str()<<" ";
cout<<nr_indeksu<<endl;
}
student::~student(void)
{
}