一.问题描述

  设计一个类people,有保护数据成员:age(年龄,整型),name(姓名,string),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;void setValue(int m, string str)给age和name赋值;void display()输出age和name。

设计一个学生类student,公有继承类people,有私有成员:ID(学号,整型),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;void setID(int m)给ID赋值;void displayID()输出ID。

在main函数定义学生对象,给对象初始化赋值或调用setValue()和setID()赋值,并输出学生的信息。

二.设计思路

  按照描述写出相应代码即可。

三.流程图

 

 

 

四.伪代码 

 

类 people{ 
保护:
  age,name
public:
  构造函数;
  析构函数;
  setvalue();
  display();
}
类 student:public: people{
private:
  id;
public:
  构造函数;
  析构函数;
  setid();
  display();
}
main(){
  student xiaoming;
  赋值;
  输出;
}

 

五.代码实现 

#include<iostream>
using namespace std;
class people {
protected:
    int age;
    string name;
public:
    people(){}
    people(int a,string s):age(a),name(s){}
    ~people() {}
    void setvalue(int n,string str) {
        age = n;
        name = str;
    }
    void display() {
        cout << age << ' ' << name << endl;
    }

};
class student :public people{
private:
    int id;
public:
    student(){}
    student(int a, string s, int b) :people(a, s) { id = b; }
    ~student(){}
    void setid(int m) {
        id = m;
    }
    void displayid() {
        cout << id << endl;
    }
};
int main() {
    student xiaoming(12,"xiaoming",20223913);
    xiaoming.display();
    xiaoming.displayid();
    student xiaohong;
    xiaohong.setvalue(15,"xiaohong");
    xiaohong.setid(20223914);
    xiaohong.display();
    xiaohong.displayid();
    return 0;
}

 

posted on 2023-04-11 20:48  leapss  阅读(40)  评论(0)    收藏  举报