c++编程问题求助

sinat小白 2016-04-10 11:28:14
代码如下,有不少问题,本人新手,找不出问题
#include<iostream>
#include<string>
using namespace std;
class Student{
private:
string name[18];
int num;
int mathscore;
int englishscore;
static int count;
static int mathTotalScore;
static int englishTotalScore;
public:
Student(m,int b,int c.int d)
{
name=m;
num=b;
mathscore=c;
englishscore=d;
count+=1;
}
static void showStatic()
{
cout<<"count:"<<count<<endl;
cout<<"mathTotalScore:"<<mathTotalScore<<endl;
cout<<"englishTotalScore:"<<englishTotalScore<<endl;
}
void showBase();
};
int Student::mathTotalScore=0;
int Student::englishTotalScore=0;
void Student::showBase()
{
cout<<name<<endl;
cout<<num<<endl;
cout<<Student.mathscore<<endl;
cout<<Student.englishscore<<endl;
}
int main(void)
{
char mz[18]="he";
Student stu1(mz,20152109,100,99);
stu1.showBase();

Student::showStatic();

system("PAUSE");
return 0;

}
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 版主 2016-04-10
  • 打赏
  • 举报
回复
这样改;


#include<iostream>
#include<string>
using namespace std;
class Student{
private:
string name;
int num;
int mathscore;
int englishscore;
static int count;
static int mathTotalScore;
static int englishTotalScore;
public:
Student(const char* m, int b,int c, int d)
{
name=m;
num=b;
mathscore=c;
englishscore=d;
count+=1;
}
static void showStatic()
{
cout<<"count:"<<count<<endl;
cout<<"mathTotalScore:"<<mathTotalScore<<endl;
cout<<"englishTotalScore:"<<englishTotalScore<<endl;
}
void showBase();
};
int Student::count = 0;
int Student::mathTotalScore=0;
int Student::englishTotalScore=0;
void Student::showBase()
{
cout<<name<<endl;
cout<<num<<endl;
cout<<Student::mathscore<<endl;
cout<<Student::englishscore<<endl;
}
int main(void)
{
char mz[18]="he";
Student stu1(mz,20152109,100,99);
stu1.showBase();

Student::showStatic();

system("PAUSE");
return 0;

}

小灸舞 2016-04-10
  • 打赏
  • 举报
回复

#include<iostream>
#include<string>
using namespace std;
class Student{
private:
char name[18];
int num;
int mathscore;
int englishscore;
static int count;
static int mathTotalScore;
static int englishTotalScore;
public:
Student(char* m,int b,int c,int d)
{
strcpy(name, m);
num=b;
mathscore=c;
englishscore=d;
count+=1;
}
static void showStatic()
{
cout<<"count:"<<count<<endl;
cout<<"mathTotalScore:"<<mathTotalScore<<endl;
cout<<"englishTotalScore:"<<englishTotalScore<<endl;
}
void showBase();
};
int Student::count=0;
int Student::mathTotalScore=0;
int Student::englishTotalScore=0;
void Student::showBase()
{
cout<<name<<endl;
cout<<num<<endl;
cout<<Student::mathscore<<endl;
cout<<Student::englishscore<<endl;
}
int main(void)
{
char mz[18]="he";
Student stu1(mz,20152109,100,99);
stu1.showBase();

Student::showStatic();

system("PAUSE");
return 0;

}

小灸舞 2016-04-10
  • 打赏
  • 举报
回复
小灸舞 2016-04-10
  • 打赏
  • 举报
回复
string name[18];应该改为char name[18]; Student(m,int b,int c.int d)应该为Student(char *m,int b,int c.int d) name=m;改为strcpy(name, m); showBase函数里cout<<Student.mathscore<<endl;调用static变量要用Student::mathscore cout<<Student.englishscore<<endl;要用Student::englishscore count也要初始化,int Student::count=0;

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧