#include <iostream>
#include <list>
using namespace std;

struct Covjek { 
       string s;
       Covjek(string ime) { s = ime; cout << ime << endl; }
};
struct Radnik : virtual public Covjek {
       Radnik(string ime) : Covjek(ime) {}       
};
struct Student : virtual public Covjek { 
       Student(string ime) : Covjek(ime) {}
};

struct StudentRadnik: public Radnik, Student {
       StudentRadnik(string ime) : 
//            Covjek(ime) {}
//            Radnik(ime), Student(ime) {}
            Covjek(ime), Radnik(ime), Student(ime) {}

       void ispis() {
            cout << Radnik::s << "," << Student::s << endl;
       }
};

int main() {
StudentRadnik sr("Pero");
//((Radnik)(sr)).s = "Ivica";
((Radnik*)(&sr))->s = "IVICA";
// ili ((Radnik&)sr).s = "Ivica";
sr.Student::s = "ivica";
sr.ispis();

//sr.Covjek::s = "ivica"; sr.ispis();
}














