4.17建立一个对象数组,内放6个学生的数据(学号、成绩),用指针指向数组首元素,输出第2,4,6个学生的数剧。
#include<iostream>
using namespace std;
class student{
public:
void disp();
student(int n,int s)
{
num=n;
score=s;
}
private:
int num,score;
};
void student::disp()
{
cout<<num<<"号:"<<score<<endl;
}
int main()
{
student stu[6]={
student(1,99),
student(2,98),
student(3,97),
student(4,96),
student(5,95),
student(6,94)
};
student *p;
p=stu;
p++;
p->disp();
p+=2;
p->disp();
p+=2;
p->disp();
system("pause");
return 0;
}
4.18建立一个对象数组,内放6个学生的数据(学号、成绩),设立一个函数max,使用对象指针作为函数参数,在max函数中找出6个学生中成绩最高者,并输出其学号。
#include<iostream>
using namespace std;
class student{
public:
void max(student*s);
student(int n,int sc)
{
num=n;
score=sc;
}
private:
int num,score;
};
void student::max(student *s)
{
int i,big;
big=s[0].score;
for(i=0;i<6;i++)
if(s[i].score>big)
{
big=s[i].score;
}
cout<<"成绩最高的学生是:"<<s[i].num<<endl;
cout<<big<<endl;
}
int main()
{
student s[6]={
student(1,99),
student(2,98),
student(3,97),
student(4,96),
student(5,95),
student(6,94)
};
max(s);
system("pause");
return 0;
}
4.19构建一个类book,其中含有两个私有数据成员qu和price,建立一个有5个元素的数组对象,将qu初始化为1~5,将price初始化为qu的10倍。显示每个对象的qu*price。
#include<iostream>
using namespace std;
class book{
public:
book(int q,int p)
{
qu=q; price=p;
}
void show()
{
cout<<qu*price<<endl;
}
private:
int qu;
int price;
};
int main()
{
book b[5]={
book(1,10),
book(2,20),
book(3,30),
book(4,40),
book(5,50),
};
int i;
for(i=0;i<5;i++)
{
b[i].show();
}
system("pause");
return 0;
}