代码就如下。这个类里面,有个函数 char get_name(),自然,写的是有问题的。但是我应该如何来获得这个“name”呢?我试了一下,可以使用 string 字符串。但是假如我就用 c 字符串,应该怎么办?
还有就是空白构造函数的问题 STDinf::STDinf():name(),score(0) ,这样name不是一个空白的字符。但是我用
STDinf::STDinf():name("a_neme"),score(0)或者STDinf::STDinf():name(' '),score(0)总是通不过编译。
求指教啊~
//包含学生名字和分数的类
#include<iostream>
#include<cstring>
using namespace std;
class STDinf
{
public:
STDinf();
//默认构造函数,生成一个空的记录
STDinf(char a[],double b);
//生成一个记录,包括姓名和成绩
char get_name();
//返回姓名
double get_score();
//返回分数
void output();
//输出一个记录
private:
char name[15];
double score;
};
int main()
{
STDinf a("kkk",50);
a.output();
return 0;
}
STDinf::STDinf():name(),score(0)
{
}
STDinf::STDinf(char a[],double b)
{
strncpy(name,a,15);
score=b;
}
char STDinf::get_name()
{
return name[15];
}
double STDinf::get_score()
{
return score;
}
void STDinf::output()
{
cout<<"The score of student "<<name<<" is "<<score<<endl;
}