用C++编写一个student类,作用如下:

定义学生类student,类中包含学生的基本信息:学号、姓名、性别、年级等私有数据成员,还包含一个统计当前创建该对象个数的计数器count,student类中有多个构造函... 定义学生类student,类中包含学生的基本信息:学号、姓名、性别、年级等私有数据成员,还包含一个统计当前创建该对象个数的计数器count,student类中有多个构造函数:带默认参数的构造函数、带参数构造函数,以及显示学生信息、修改学生信息、输出计数器count等成员函数,建立对象(至少有一个是堆对象)并调用相应的成员函数。并定义一个友元函数用于输出学生基本信息。 展开
 我来答
水漾透润
2013-10-29
知道答主
回答量:14
采纳率:0%
帮助的人:15.7万
展开全部
#include <iostream>
#include <string>
using namespace std;
class student{
public:
    static int count;
    student(){++count;}
    student(string ID="",string name="",int sex=0,int grade=0):
        m_ID(ID),m_name(name),m_sex(sex),m_grade(grade){++count;}
    ~student(){--count;}
    void getData(){
        cout<<m_ID<<' '<<m_name<<' ';
        if(m_sex==1) cout<<"男";
        if(m_sex==2) cout<<"女";
        cout<<' '<<m_grade<<"年级"<<endl;
    }
    void setData(string ID="",string name="",int sex=0,
        int grade=0){
        if(ID!="") m_ID=ID;
        if(name!="") m_name=name;
        if(sex!=0) m_sex=sex;
        if(grade!=0) m_grade=grade;
    }
    void showCount(){
        cout<<"计数值:"<<count<<endl;
    }
    friend void showData(student& stu);
private:
    string m_ID;
    string m_name;
    int m_sex;
    int m_grade;
};
void showData(student& stu){
    cout<<stu.m_ID<<' '<<stu.m_name<<' ';
    if(stu.m_sex==1) cout<<"男";
    if(stu.m_sex==2) cout<<"女";
    cout<<' '<<stu.m_grade<<"年级"<<endl;
}
int student::count=0;
int main(){
    student stu1("001","张三",1,4);
    stu1.getData();
    cout<<"修改学生信息"<<endl;
    stu1.setData("002");
    stu1.getData();
    stu1.showCount();
    cout<<"新建堆中的对象"<<endl;
    student* stu2=new student("003","李四",2,5);
    stu2->getData();
    stu2->showCount();
    delete stu2;
    cout<<"删除了一条"<<endl;
    stu1.showCount();
    cout<<"调用友元函数"<<endl;
    showData(stu1);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式