m0_46708584
m0_46708584
采纳率100%
2020-05-25 14:14

c++中string应该怎样用,应输入标识符是什么意思

已采纳
#include<iostream>
#include<string.h>
using namespace std;

class process
{
public:
    virtual void print() = 0;
};
class person :public process
{
private:
    string name;
    string gender;
    int age;

    person(string n, string g, int a)
    {
        name = n;
        gender = g;
        age = a;
    }
    virtual void print()
    {
        cout << "姓名:" << name << "性别:" << gender << "年龄:" << age << endl;
    }
};
class student :public person
{
public:

    int id;
    int score1;
    int score2;
    int score3;

    person(int i, int s1, int s2, int s3)
    {
        id = i;
        score1 = s1;
        score2 = s2;
        score3 = s3;
    }

    virtual void print()
    {
        cout << "学号:" << id << "语文成绩:" << score1 << "数学成绩:" << score2 << "英语成绩:" << score3 << endl;
    }

};
int main()
{
    person p("张三", "男", 20);
    student s(19060102, 100, 99, 98);
    process* pro1 = new person;
    pro1->print();
    process* pro2 = new student;
    pro2->print();
    system("pause");
    return 0;

}

```!![图片说明](https://img-ask.csdn.net/upload/202005/25/1590388783_830563.png)

有没有大佬看一下这个怎么改
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 10月前

    class person(string n = 0,string g = 0,int a = 0) :
    构造函数不能写在类定义上

    #include<iostream>
    #include<string>
    using namespace std;
    
    class process
    {
    public:
        virtual void print() = 0;
    };
    class person: public process
    {
    private:
        string name;
        string gender;
        int age;
    public:
        person(string n = "默认名",string g = "男",int a = 0) 
        {
            name = n;
            gender = g;
            age = a;
        }
        virtual void print()
        {
            cout << "姓名:" << name << "性别:" << gender << "年龄:" << age << endl;
        }
    };
    class student :public person
    {
    private:
    
        int id;
        int score1;
        int score2;
        int score3;
    public:
        student(int i, int s1, int s2, int s3):person()
        {
            id = i;
            score1 = s1;
            score2 = s2;
            score3 = s3;
        }
    
        virtual void print()
        {
            cout << "学号:" << id << "语文成绩:" << score1 << "数学成绩:" << score2 << "英语成绩:" << score3 << endl;
        }
    
    };
    int main()
    {
        person p("张三", "男", 20);
        student s(19060102, 100, 99, 98);
        process* pro1 = new person("张四", "男", 21);
        pro1->print();
        process* pro2 = new student(19060103, 95, 80, 70);
        pro2->print();
    
    }
    

    姓名:张四性别:男年龄:21
    学号:19060103语文成绩:95数学成绩:80英语成绩:70

    问题解决的话,请点采纳。

    点赞 1 评论 复制链接分享