Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Datum {
- int _dan, _mjesec, _godina;
- public:
- Datum(){
- _dan = _mjesec = 1;
- _godina = 1900;
- }
- Datum(int dan, int mjesec, int godina){
- _dan = dan;
- _mjesec = mjesec;
- _godina = godina;
- }
- void ispis(){
- cout << _dan << "/" << _mjesec << "/" << _godina << endl;
- }
- };
- class Student{
- static int _indexBrojac;
- const int _brojIndexa;
- int & _grupa;
- Datum * _datumRodjenja;
- char * _imePrezime;
- public:
- Student(int & ref, Datum datum, char *imePrezime) : _brojIndexa(_indexBrojac++), _grupa(ref){
- _datumRodjenja = new Datum(datum);
- int vel = strlen(imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, imePrezime);
- }
- ~Student(){
- delete[]_imePrezime;
- _imePrezime = nullptr;
- delete _datumRodjenja;
- _datumRodjenja = nullptr;
- }
- //kkopije
- Student(Student & org) :_brojIndexa(_indexBrojac++), _grupa(org._grupa){
- _datumRodjenja = new Datum(*org._datumRodjenja);
- int vel = strlen(org._imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, org._imePrezime);
- }
- void ispis(){
- cout << _brojIndexa << " " << _imePrezime << " " << _grupa << " ";
- _datumRodjenja->ispis();
- }
- void setImePrezime(char * ime){
- if (strlen(_imePrezime) > 0) delete[]_imePrezime;
- int vel = strlen(ime) +1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, ime);
- }
- int getIndexBrojac(){
- return _indexBrojac;
- }
- static void BrojStudenata(){
- cout << "Staticka funkcija " << endl;
- }
- };
- int Student::_indexBrojac = 0;
- int main(){
- int grupa1 = 1;
- Student a ( grupa1, Datum(6, 1, 2014), "Nedim Fejzic");
- Student b(a);
- a.ispis();
- b.ispis();
- a.setImePrezime("Nedim Kopija Fejzic");
- b.setImePrezime("Safet Kopija Isovic");
- a.ispis();
- b.ispis();
- cout << a.getIndexBrojac() << endl << b.getIndexBrojac() << endl;
- Student::BrojStudenata();
- system("pause > null");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement