1271面向对象程序设计上机练习九(对象指针)

来源:互联网 发布:机械工艺软件 编辑:程序博客网 时间:2024/05/06 02:05

面向对象程序设计上机练习九(对象指针)

#include<iostream>#include<cstring>using namespace std;int a,b,c;class student{public :    int get()    {        cin>>num>>score;    }    string  shownum()//类内的学号和成绩都是私有的  不能直接在外面调用    {//通过一个与外部连接的函数,把类中私有的数据传出去         return num;    }    int showscore()    {        return score;    }private:    string num;    int score;};void Max (student *s){    int m=0;    int n;    for(int i=0;i<5;i++)    {        if(s[i].showscore()>m)            {                m=s[i].showscore();                n=i;            }    }    cout << s[n].shownum() << " " << m << endl;}int main(){    student stud[5],*p;    p=&stud[0];   for(int i=0;i<5;i++)   {       stud[i].get();       //p[i].get(); 1   }   Max(stud);   //Max(p); 2}//1 2为引用函数的使用
#include <iostream>  using namespace std;  class student  {  public:      char no[100];      int score;  };  student a[5];  void max(student *&p)  {      int i;      int max=a[0].score;      for(i=1; i<5; i++)      {          if(a[i].score > max)          {              max=a[i].score;              p = &a[i];          }      }  }  int main()  {      int i;      for(i=0; i<5; i++)          cin>>a[i].no>>a[i].score;      student *p=&a[0];      max(p);      cout<<p->no<<" "<<p->score<<endl;      return 0;  }  
#include <iostream>  #include <string.h>  using namespace std;  class Stu  {  private:      string num;      int sorce;  public:      Stu(){}      Stu(string a,int b):num(a),sorce(b){}      void max(Stu *p,int n)      {          Stu *q = p;          sorce = p[0].sorce;          num = p[0].num;          for(int i = 1;i < n;i++)          {              if(sorce < q->sorce)              {                  sorce = q->sorce;                  num = q->num;              }              q++;          }      }      void show()      {          cout<<num<<" "<<sorce<<endl;      }  };  int main()  {      Stu *p = new Stu[5];      Stu *q = p;      Stu *mx;      int n = 5,b;      string a;      for(int i = 0;i < n;i++)      {          cin>>a>>b;          *q = Stu(a,b);          q++;      }      mx->max(p,n);      mx->show();      return 0;  }  
0 0