Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Clen{
- private:
- char name[50];
- char surname[50];
- int grade;
- public:
- Clen(const char *name="",const char *surname="",int grade=0){
- strcpy(this->name,name);
- strcpy(this->surname,surname);
- this->grade=grade;
- }
- Clen& operator ++(){
- grade++;
- return *this;
- }
- Clen& operator ++(int){
- grade++;
- return *this;
- }
- friend ostream &operator <<(ostream &out,Clen &c){
- out<<c.name<<" "<<c.surname<<", "<<c.grade<<endl;
- return out;
- }
- bool operator !=(Clen &c){
- return grade!=c.grade;
- }
- int getGrade(){
- return grade;
- }
- };
- class Klub{
- private:
- char name[100];
- Clen *members;
- int n;
- public:
- Klub(const char *name="",Clen *members=NULL,int n=0){
- strcpy(this->name,name);
- this->members=new Clen[n];
- this->n=n;
- for(int i=0;i<n;i++){
- this->members[i]=members[i];
- }
- }
- Klub(const Klub &k){
- strcpy(this->name,k.name);
- this->members=new Clen[k.n];
- this->n=k.n;
- for(int i=0;i<n;i++){
- this->members[i]=k.members[i];
- }
- }
- ~Klub(){
- delete [] members;
- }
- Klub &operator =(const Klub &k){
- if(this!=&k){
- strcpy(this->name,k.name);
- delete[] members;
- this->members=new Clen[k.n];
- this->n=k.n;
- for(int i=0;i<n;i++){
- this->members[i]=k.members[i];
- }
- }
- return *this;
- }
- Klub &operator +=(const Clen &c){
- Clen *tmp = new Clen[n+1];
- for(int i=0;i<n;i++){
- tmp[i]=members[i];
- }
- tmp[n]=c;
- n++;
- delete[] members;
- members=tmp;
- return *this;
- }
- friend ostream &operator <<(ostream &out,Klub &k){
- out<<k.name<<endl;
- for(int i=0;i<k.n;i++){
- out<<k.members[i];
- }
- return out;
- }
- Klub novKlub(Clen &c){
- Klub newKlub(name);
- for(int i=0;i<n;i++){
- if(!(members[i]!=c)){
- newKlub+=members[i]++;
- }
- }
- return newKlub;
- }
- };
- int main()
- {
- Clen clen;
- int n, stepen;
- char ime[30], prezime[30];
- cin >> ime >> n;
- Klub k1(ime);
- for(int i = 0; i < n; i++){
- cin >> ime >> prezime >> stepen;
- Clen c(ime, prezime, stepen);
- k1 += c;
- clen = c;
- }
- Klub k2 = k1.novKlub(clen);
- cout << k2;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement