一个简单的c++程序,为什么编译就是通不过
#include<iostream>usingnamespacestd;classStudent{public:Student(intnum,intg){number=n...
#include <iostream>
using namespace std;
class Student{
public:
Student(int num,int g){
number=num;
grade=g;
}
void display_number(){
cout<<"number:"<<number<<endl;
}
void display_grade(){
cout<<"grade:"<<grade<<endl;
}
private:
int number;
int grade;
};
int main()
{
int i;
Student stu[5]{
Student(1,87),Student(2,54),Student(3,97),Student(4,75),Student(5,66)
};
for(i=0;i<5;i=i+2){
cout<<"number:"<<stu[i].display_number()<<endl;
cout<<"grade:"<<stu[i].display_grade()<<endl;
}
return 0;
} 展开
using namespace std;
class Student{
public:
Student(int num,int g){
number=num;
grade=g;
}
void display_number(){
cout<<"number:"<<number<<endl;
}
void display_grade(){
cout<<"grade:"<<grade<<endl;
}
private:
int number;
int grade;
};
int main()
{
int i;
Student stu[5]{
Student(1,87),Student(2,54),Student(3,97),Student(4,75),Student(5,66)
};
for(i=0;i<5;i=i+2){
cout<<"number:"<<stu[i].display_number()<<endl;
cout<<"grade:"<<stu[i].display_grade()<<endl;
}
return 0;
} 展开
展开全部
Student stu[5]{这个地方少个等于号,应该为Student stu[5]={
还有for(i=0;i<5;i=i+2)
{
cout<<"number:"<<stu[i].display_number()<<endl;
cout<<"grade:"<<stu[i].display_grade()<<endl;
}
这个地方改为
for(i=0;i<5;i=i+2)
{
stu[i].display_number();
stu[i].display_grade();
}
还有for(i=0;i<5;i=i+2)
{
cout<<"number:"<<stu[i].display_number()<<endl;
cout<<"grade:"<<stu[i].display_grade()<<endl;
}
这个地方改为
for(i=0;i<5;i=i+2)
{
stu[i].display_number();
stu[i].display_grade();
}
追问
恩恩,改好了,想问一下,用指针的话该怎么做,比如
Student *p=new Student [5]{
Student(1,87),Student(2,54),Student(3,97),Student(4,75),Student(5,66)
}; for(;p!=NULL;p=p+2){ }
for里面不会写了,因为p指向的是数据成员,而现在要访问的是成员函数
追答
用指针不好直接初始化整个数组,需要另外一个一个的初始化
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询