Главная » 2019 » Октябрь » 29 » Классы 5 Дружественные функции и наследование
10:56
Классы 5 Дружественные функции и наследование

#include <iostream>
#include <ctime>
using namespace std;
class b;
class a{
    friend void maxs_mins(a &x,b &y);
private:
    int *mas,n,max,min;
public:
    a(){
        cout<<"Vvedite n ";cin>>n;
        mas=new int[n];
    }
    void set(){
        srand(time(0));
        for (int i=0;i<n;i++)
            mas[i]=rand()%90+10;
    }
    void get(){
        for (int i=0;i<n;i++) cout<<mas[i]<<" ";
        cout<<endl;
    }
    void get_max(){
        max=mas[0];
        for (int i=0;i<n;i++) 
            if (mas[i]>max) max=mas[i];
        cout<<"max="<<max<<endl;
    }
    void get_min(){
        min=mas[0];
        for (int i=0;i<n;i++) 
            if (mas[i]<min) min=mas[i];
        cout<<"min="<<min<<endl;
    }
    ~a(){
        delete mas;
    }
};
class b: public a{
    friend void maxs_mins(a &x,b &y);
};
void maxs_mins(a &x,b &y){
    cout<<"Max1="<<x.max<<" Min1="<<x.min<<endl;
    cout<<"Max2="<<y.max<<" Min2="<<y.min<<endl;
    if (x.max>y.max)
        cout<<"Max1>Max2"<<endl;
    else
        if (x.max<y.max)
            cout<<"Max1<Max2"<<endl;
        else
            cout<<"Max1=Max2"<<endl;
    if (x.min>y.min)
        cout<<"Min1>Min2"<<endl;
    else
        if (x.min<y.min)
            cout<<"Min1<Min2"<<endl;
        else
            cout<<"Min1=Min2"<<endl;
}
int main(){
    a first;
    first.set();
    first.get();
    first.get_max();
    first.get_min();

    b second;
    second.set();
    second.get();
    second.get_max();
    second.get_min();
    
    maxs_mins(first,second);
        first.get_max();
    first.get_min();
        second.get_max();
    second.get_min();
    system("pause");
    return 0; 
}

Просмотров: 281 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar