返回字符串的函数的问题

tyhello 2011-04-15 03:56:43
代码就如下。这个类里面,有个函数 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;
}


...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eye_119_eye 2011-04-15
  • 打赏
  • 举报
回复
char* get_name();
ouyh12345 2011-04-15
  • 打赏
  • 举报
回复
在参数里返回
bool STDinf::get_name(char* )
SEESEECN 2011-04-15
  • 打赏
  • 举报
回复
char只表示一个字符。

按下面的重写get_name函数
char* STDinf::get_name()
{
return name;
}
mouse_xie 2011-04-15
  • 打赏
  • 举报
回复
char 不能是字符串 而是一个字符。可以用char* get_name();
char [] 不支持直接赋值。所以name("xxx")错误
同样name(''),且''是一个字符,不是字符串。

64,641

社区成员

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

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