求救啊!一个c++问题。我搞不懂啊!!在线等!!

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:15:35
#include<iostream>
using namespace std;
class student{
private:
char *sid;
char *sname;
int sage;
public:
void set(char *id,char*name,int age);
void output(char*id,char*name,int age);
};
void main()
{
cout<<"请输入学生的学号 姓名 年龄,以空格隔开:";
cin>>sid>>' '>>sname>>' '>>sage>>endl;

student.set();
student.output();
}
void student::set(char *id,char*name,int age)
{
if(id)
{
sid=new char[strlen(id)+1];
strcpy(sid,id);
}
else id=NULL;
if(name)
{
sname=new char[strlen(name)+1];
strcpy(sname,name);
}
else name=NULL;
sage=age;
}
void student::output(char*id, char*name,int age)
{

cout<<"sid="<<sid<<endl<<"sname="<<sname<<endl<<"sage="<<sage

1.方法一

#include<iostream>
#include<string>
using namespace std;

class student //定义学生类
{
public:
//类成员函数,或称方法
void set(char *id,char *name,int age)
{
sid=id; sname=name; sage=age;
}
void output(char *id,char *name,int age)
{
cout<<"sid="<<sid<<endl<<"sname="<<sname<<endl<<"sage="<<sage<<endl;
}

private:
//类私有变量
char *sid; //学号
char *sname; //姓名
int sage; //年龄
};

void main()
{
student stu1; //构造对象,学生1
char *id=NULL, *name=NULL,stuid[15],stuname[15];
int age=0,stuage;

cout<<"请输入学生的学号 姓名 年龄,以空格隔开:"<<endl;
cin>>stuid>>stuname>>stuage;
id=stuid;
name=stuname;
age=stuage;

stu1.set(id,name,age);
stu1.output(id,name,ag