#include <iostream> #include <string> using namespace std; class Person { public: Person(string name, int id) { this->name = name; this->id = id; } void Display() { cout << "姓名:" << name << endl; cout << "身份证号:" << id << endl; } ~Person() { cout << "Person对象已销毁!" << endl; } protected: string name; int id; }; class CollegeStu : public Person { public: CollegeStu(string name, int id, string major, double score) : Person(name, id) { this->major = major; this->score = score; } void Display() { Person::Display(); cout << "专业:" << major << endl; cout << "C++程设计课程成绩:" << score << endl; } private: string major; double score; }; int main() { CollegeStu stu("张三", 123456, "计算机科学与技术", 89.5); stu.Display(); return 0; }设计思维导图
时间: 2024-02-02 18:04:51 浏览: 151
抱歉,我无法进行图形输出,但我可以为您描述一个简单的思维导图:
- Person(人员)
- name(姓名)
- id(身份证号)
- Display(显示信息)
- ~Person(析构函数)
- CollegeStu(大学生)
- major(专业)
- score(成绩)
- Display(显示信息)
- 继承自Person
在程序中,Person是一个基类,它有两个数据成员:name和id,以及一个Display方法和一个析构函数。CollegeStu是一个派生类,它继承了Person,并添加了两个数据成员major和score,以及一个Display方法。程序中通过实例化一个CollegeStu对象来演示继承和多态的使用。
相关问题
编写函数display,传入一个Person类的对象 裁判测试程序样例: #include <iostream> #include <string> using namespace std; class Person { public: Person(string name): m_name(name) { cout << "create Person: " << m_name << endl; } Person(const Person &p) { cout << "copy Person: " << m_name << endl; m_name = p.m_name; } ~Person() { cout << "destroy Person: " << m_name << endl; } string getName() const { return m_name; } private: string m_name; }; // 请把答案写在这里 int main() { string name; cin >> name; Person p(name); display(p); return 0; } 输入样例: 在这里给出一组输入。例如: tom 输出样例: 在这里给出相应的输出。例如: create Person: tom tom destroy Person: tom
可以按如下方式编写display函数:
```c++
void display(const Person& p) {
cout << "Person's name is " << p.getName() << endl;
}
```
在这个函数中,我们使用了一个常量引用作为参数,这可以避免不必要的对象拷贝。然后我们调用Person类的getName函数输出Person的姓名。
#include<iostream> #include<string> #include<vector> #include<map> #include<iomanip> #include <list> using namespace std; class item { public: string name;//书名 string item_type;//项目类型 bool Register;// }; //杂志类 class magazine :public item//类的继承 { string Type; string Writer; }; //MusicCd类 class MusicCd :public item { string Singer; }; //电影类 class Movie :public item { string Type; string Director; string Actor; }; //书籍类 class Book : public item { public: Book() { borrow_flag = false; } //无参构造函数 Book(string name, string num, string auther) :name(name), num(num), auther(auther) { borrow_flag = false; } //有参构造函数 void setReader(string reader, int lcn, string data); //设置读者 void setInfo(string name, string num, string auther); //设置书籍信息 string getName() { return name; } string getNum() { return num; } string getAuther() { return auther; } bool getBorrow_flag() { return borrow_flag; } string getReader() { return reader; } int getLcn() { return lcn; } string getData() { return data; } bool isBorrow() { return borrow_flag; } //判断书籍是否借出 void setBorrow_flag(bool b) { borrow_flag = b; } void showInfo(); //显示数据信息 private: string name; //书名 string num; //编号(唯一标示) string auther; //作者 bool borrow_flag; string reader; //读者 int lcn; //借书证号 string data; //借书日期 }; //DVD电影类 class DVD :public Movie { }; //蓝光电影类 class Blue_ligh :public Movie { }; //用户 class Person { public: string Name; string Adress; list<item> Regist_items; }; void Book::setReader(string reader, int lcn, string data) { borrow_flag = true; this->reader.assign(reader); this->lcn = lcn; this->data.assign(data); } void Book::setInfo(string name, string num, string auther) { this->name.assign(name); this->num.assign(num); this->auther.assign(auther); } void Book::showInfo() { cout << "书籍名称:" << setiosflags(ios_base::left) << setw(56) << name << endl << "书籍编号:" << setw(56) << num << endl << "书籍作者:" << setw(56) << auther << endl;//setw()输出字符宽度 if (borrow_flag) { cou
t << "借书人:" << setw(56) << reader << endl << "借书证号:" << setw(56) << lcn << endl << "借书日期:" << setw(56) << data << endl; } else { cout << "该书籍未被借出" << endl; } } int main() { Book b1("C++ Primer", "001", "Lippman"); b1.showInfo(); b1.setReader("Tom", 123456, "2022-05-01"); b1.showInfo(); return 0; }
这段代码定义了一个图书管理系统的基本功能,其中包括了不同类型的物品类(杂志类、音乐CD类、电影类、书籍类、DVD电影类、蓝光电影类),以及用户类。其中,书籍类中包括了书籍的名称、编号、作者等属性,并且可以设置借书人、借书证号和借书日期等信息。在主函数中,定义了一本书籍,并且展示了其基本信息,以及设置了借书人、借书证号和借书日期等信息,并且再次展示了其信息。
阅读全文