一、面向对象课程设计作品(基于MFC的仓库管理系统完整工程完整工程):
面向对象课程设计作品(完整)(也适用于软件工程大实验).7z_采用面向对象方法分析,设计和实现订货系统。-C/C++文档类资源-CSDN下载
二、实验五题目:
分析学校管理系统、图书管理系统中具有继承关系的基类和派生类,分别给出定义并在主函数中调用测试。要求:
1.基类具有基本的数据成员,派生类扩展相关数据成员。
2.基类具有基本的成员函数,派生类扩展相关成员函数。
3.基类和派生类均具有构造函数和深拷贝构造函数。
#include<iostream> #include<string> #include<iomanip> using namespace std;//蓝多多作业 class essential //定义一个学校管理系统的学生基本信息的基类 { private://类的成员 string number;//学号 string name;//姓名 string major;//专业 int sex;//性别 男生0 女生1 public: essential()//无参的构造函数 { name = number = major = "0"; sex = 0; } essential(string a, string b, string c, int d)//有参的构造函数 { number = a; name = b; major = c; sex = d; } ~essential()//析构函数 {} essential(const essential &p)//深拷贝构造函数 { number = p.number; name = p.name; major = p.major; sex = p.sex; } void print(); void output(essential a[]); }; class Library : public essential//定义一个图书馆系统的派生类 { private: string date; string book; public: ~Library() {} Library(string a, string b, string c, int d, string date1, string book1) :essential(a, b, c, d)//派生类的有参构造函数 { date = date1; book = book1; } Library(const Library &a)//派生类的深拷贝构造函数 { this->date = a.date; this->book = a.book; } Library() {} void display() { print(); cout <<"{date :"<<setw(10)<<this->date <<setw(20); cout <<"book :"<<setw(20)<<this->book <<"}"<< endl; } void putout(Library c[]); }; int main() { {essential b[2] = { essential("049999901","dyy","chemistry",0),essential("029999938","dxn","computer",1) }; Library a[2] = { Library("049999901","dyy","chemistry",0,"2018.5.6","Life without limit"),Library("029999938", "dxn","computer",1,"2018.3.5","Cherish life Time") }; essential ob; ob.output(b); cout << endl; Library on; on.putout(a); } system("pause"); return 0; } void essential::print()//定义一个输出函数 使用this指针 { cout << this->number << setw(8); cout << this->name << setw(11); cout << this->major << setw(8); cout << this->sex; cout << endl; } void essential::output(essential a[])//定义一个输出函数 { cout << setw(9) << "number" << setw(9) << "name" << setw(9) << "major" << setw(9) << "sex" << endl;//输出表头 for (int i = 0; i < 2; i++) a[i].print();//用for循环输出学生基础信息 } void Library::putout(Library c[])//定义一个输出函数 { cout << setw(9) << "number" << setw(9) << "name" << setw(9) << "major" << setw(9) << "sex" << endl;//输出表头 for (int i = 0; i < 2; i++) c[i].display(); }