标签:string 对象 number c++ name grade 实验 CStudent 构造函数
题目
建立一个名为CStudent的类,该类有以下几个属性:学号、姓名、成绩,并为上述属性定义相应的方法。(注意掌握以下成员函数的使用:构造函数和析构函数、复制构造函数,内敛成员函数,带默认形参值的成员函数。)
方法一:用String来保存字符串
#include<iostream>
#include<cstring>
using namespace std;
class CStudent{
private:
string number,name; //numeber表示学号,name表示姓名
double grade;//grade表示成绩
public:
//默认构造函数和有参构造函数的结合
CStudent (string snumber="NULL",string sname="NULL",double sgrade=0);
//复制构造函数
CStudent(const CStudent &p);
//析构函数
~CStudent(){
}
//重置学生信息
void setstudent(string snumber,string sname,double sgrade);
//获取学号
string getnumber(){
return number;
}
//获取学生姓名
string getname(){
return name;
}
//获取学生成绩
double getgrade(){
return grade;
}
};
//默认构造函数和有参构造函数的综合
CStudent::CStudent(string snumber,string sname,double sgrade):number(snumber),name(sname),grade(sgrade){
}
//复制构造函数
CStudent::CStudent(const CStudent &p):number(p.number),name(p.name),grade(p.grade){
}
//重置函数
void CStudent::setstudent(string snumber,string sname,double sgrade)
{
number=snumber;
name=sname;
grade=sgrade;
}
int main()
{
string number,name;
double grade;
cout<<"输入学号:"<<endl;
cin>>number;
cout<<"输入姓名:"<<endl;
cin>>name;
cout<<"输入成绩:"<<endl;
cin>>grade;
CStudent stu;
cout<<"学号:"<<stu.getnumber()<<" "<<"姓名:"<<stu.getname()<<" "<<"成绩:"<<stu.getgrade()<<endl;
stu.setstudent(number,name,grade);
cout<<"学号:"<<stu.getnumber()<<" "<<"姓名:"<<stu.getname()<<" "<<"成绩:"<<stu.getgrade()<<endl;
}
方法一的改进版
#include<iostream>
#include<cstring>
using namespace std;
class CStudent{
private:
string number,name; //numeber表示学号,name表示姓名
double grade;//grade表示成绩
public:
//默认构造函数和有参构造函数的结合
CStudent (string snumber="NULL",string sname="NULL",double sgrade=0);
//复制构造函数
CStudent(const CStudent &p);
//析构函数
~CStudent(){
}
//重置学生信息
void setstudent(string snumber,string sname,double sgrade);
//获取学号
string getnumber(){
return number;
}
//获取学生姓名
string getname(){
return name;
}
//获取学生成绩
double getgrade(){
return grade;
}
};
//默认构造函数和有参构造函数的综合
CStudent::CStudent(string snumber,string sname,double sgrade){
setstudent(snumber,sname,sgrade);//调用成员函数
}
//复制构造函数
CStudent::CStudent(const CStudent &p){
setstudent(p.number,p.name,p.grade);//调用成员函数
}
//重置函数
void CStudent::setstudent(string snumber,string sname,double sgrade)
{
number=snumber;
name=sname;
grade=sgrade;
}
int main()
{
string number,name;
double grade;
cout<<"输入学号:"<<endl;
cin>>number;
cout<<"输入姓名:"<<endl;
cin>>name;
cout<<"输入成绩:"<<endl;
cin>>grade;
CStudent stu;
cout<<"学号:"<<stu.getnumber()<<" "<<"姓名:"<<stu.getname()<<" "<<"成绩:"<<stu.getgrade()<<endl;
stu.setstudent(number,name,grade);
cout<<"学号:"<<stu.getnumber()<<" "<<"姓名:"<<stu.getname()<<" "<<"成绩:"<<stu.getgrade()<<endl;
}
标签:string,对象,number,c++,name,grade,实验,CStudent,构造函数 来源: https://blog.csdn.net/qq_51517771/article/details/115220699
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。