永发信息网

c++指向对象的指针作函数参数问题

答案:1  悬赏:10  手机版
解决时间 2021-06-05 17:28

题目是这样的:建立一个对象数组,内放五个学生的数据学号成绩,建立一个函数max,用指针向对象的指针作函数参数,在max函数中找出五个学生中成绩最高的并输出其学号.

我的代码如下:错在那里呢

#include <iostream>
using namespace std;
class Date
{
public:
Date(int =1,int =1,int=2005 );

void display();
private:
int month;
int day;
int year;
};
Date::Date(int m,int d,int y):month(m),day(d),year(y){}


void Date::display()
{
cout<<month<<"/"<<day<<"/"<<year<<endl;
}
int main()
{
Date d1(10,13,2005);
Date d2(12,30,2005);
Date d3(10,1,2005);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;

最佳答案

#include <iostream>
#include <string>


using namespace std;


class Studest
{
private:
string number;
float score;



public:
Studest(string s,float d):number(s),score(d){};
void Max(Studest *q);//q也必须为Studest类



};


Studest stud[5]={
Studest("125",90),
Studest("126",89),
Studest("124",79),
Studest("122",89),
Studest("127",78)
};


void Studest::Max(Studest *q)//q也必须为Studest类
{
Studest *p1;// 指针必须为Studest类
string Max_num;
int Max;
int i;
p1=q;


Max=p1->score;
//Max=p1->number;//number为字符型,而Max为int
Max_num=p1->number;


for(i=1;i<5;i++)


{
if((p1+i)->score>Max)
{


Max=(p1+i)->score;
Max_num=(p1+i)->number;//是Max_num,not Max_number


}
}


cout<<"the Max_number:"<<Max_num;//是Max_num,not Max_number



}


int main()
{
Studest *p;
p=stud;


p->Max(p);


return 0;
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
天龙八部瑚蝶多少级可携带?
为什么有的人太作做
南通劳动人民文化宫到长途汽车站怎么走
果园里有桃树杏树桃树的五分之三是420棵,杏
梦幻诛仙里变异宝宝各项资质比普通宝宝各项资
几道数学题 小学六年级的
寻现在最流行的歌曲
中学同学,八年后又相见,好想对他说“我爱你
新邵县邵阳银山角建材城地址在哪里啊
我的网球拍,线被打断了,在哪可以换?本人在
判断:曼德拉曾是南非总统。(是对是错?)
我的QQ宠物死了怎么办呢?
准备购买一辆新奥拓 请问需要交哪些税/费呢
23级比波70级烈焰猩猩51巴鲁斯39级布布花怎么
宁波逸夫剧院2009年11月28日有什么演出
推荐资讯
魔域风暴索魂尔好不好合?该怎样合?
李密的陈情表中有多少成语?都有哪些?
谁知道中国最大的龙门吊是多大?
菜煎饼的作文
为什么昨天从安装了QQ三国游戏后键盘和鼠标玩
孩子体温35.6°怎么半?
请问心急结婚登记处在哪
雏田VS小樱谁更美?
是否爱上一个人真的可以为她做任何事?
求龙马最帅的图片
浉河区信阳美锐大药房(大庆路菜市场分店)地址
跟腱伤了,要多久才能恢复?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?