问题描述
- 老师留的c++问题,大神们,求帮助,我怎么调试也有错误
-
?建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。 ?
解决方案
小伙子,好好学,做个挨踢工程师以后
struct Student
{
public:
Student(char* pName, int iNameLen,
char* pNumber, int iNumberLen,
char* pSex, int iSexLen,
char* pAge, int iAgeLen)
{
memset(cName, 0, 60);
memset(cNumber, 0, 60);
memset(cSex, 0, 60);
memset(cAge, 0, 60);
memcpy(cName, pName, iNameLen);
memcpy(cNumber, pNumber, iNumberLen);
memcpy(cSex, pSex, iSexLen);
memcpy(cAge, pAge, iAgeLen);
}
void Display()
{
printf("姓名:%sn", cName);
printf("学号:%sn", cNumber);
printf("性别:%sn", cSex);
printf("年龄:%sn", cAge);
}
private:
char cName[60];
char cNumber[60];
char cSex[60];
char cAge[60];
};
int main()
{
Student ss("张三", 4, "60201", 5, "男", 2, "21", 2);
ss.Display();
return 0;
}
解决方案二:
软件问题,
解决方案三:
可能是你用的编译软件不是正版的,我也遇过类似的问题,另外你写的是结构体,不是类
解决方案四:
可能是你用的编译软件不是正版的,我也遇过类似的问题,另外你写的是结构体,不是类
解决方案五:
#include <string>
using namespace std;
class Student
{
public:
Student(char* pName,
char* pNumber,
char* pSex,
char* pAge)
{
strName = pName;
strNumber = pNumber;
strSex = pSex;
strAge = pAge;
}
void Display()
{
printf("姓名:%sn", strName.c_str());
printf("学号:%sn", strNumber.c_str());
printf("性别:%sn", strSex.c_str());
printf("年龄:%sn", strAge.c_str());
}
private:
std::string strName;
std::string strNumber;
std::string strSex;
std::string strAge;
};
int main()
{
Student ss("张三", "60201", "男", "21");
ss.Display();
}
解决方案六:
struct Student
{
public:
Student(char* pName, int iNameLen,
char* pNumber, int iNumberLen,
char* pSex, int iSexLen,
char* pAge, int iAgeLen)
{
memset(cName, 0, 60);
memset(cNumber, 0, 60);
memset(cSex, 0, 60);
memset(cAge, 0, 60);
memcpy(cName, pName, iNameLen);
memcpy(cNumber, pNumber, iNumberLen);
memcpy(cSex, pSex, iSexLen);
memcpy(cAge, pAge, iAgeLen);
}
void Display()
{
printf("姓名:%sn", cName);
printf("学号:%sn", cNumber);
printf("性别:%sn", cSex);
printf("年龄:%sn", cAge);
}
private:
char cName[60];
char cNumber[60];
char cSex[60];
char cAge[60];
};
int main()
{
Student ss("张三", 4, "60201", 5, "男", 2, "21", 2);
ss.Display();
return 0;
}