#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#define MaxNum 256
using namespace std;
typedef struct node {
int i; //編號
string name; //名稱
int rentBy; //租借會員編號 -1 代表無人外借
} NODE;
class MEMBER {
public:
MEMBER();
bool exist(int);
bool add(string);
bool remove(int);
void show();
void readFile();
void writeFile();
friend class BOOK; // BOOK 會用到 private 資料,因而加入 friend
friend class DVD; // DVD 會用到 private 資料,因而加入 friend
private:
int index; //紀錄陣列寫入位置
string DataBase[MaxNum];
};
class BOOK {
public:
BOOK();
bool exist(int);
bool add(string, int);
bool remove(int);
bool rent(int, int);
bool back(int, int);
void show(MEMBER);
void readFile();
void writeFile();
protected:
int index; //紀錄陣列寫入位置
NODE DataBase[MaxNum];
};
class DVD : public BOOK { // 繼承自 BOOK
public:
DVD();
bool addDVD(string, int, int);
void showDVD(MEMBER);
void readFile();
void writeFile();
private:
int level[MaxNum];
};
int main() {
int temp;
string name;
MEMBER member;
BOOK book;
DVD dvd;
while (true) {
// main loop code
}
}
說明:MEMBER
類別負責管理成員資料,BOOK
類別管理書籍,而 DVD
繼承自 BOOK
並增加額外的級別管理功能。成員、書籍和 DVD 的資料可從文件中讀取或寫入。系統包括租借與歸還的基本操作,並使用了類與結構來組織資料。
!!以上內容是跟著第一次學C++就上手第二版內容所跟著一起操作的!!
今天是第三、四段程式碼,這次寫的兩段程式碼執行起來都沒問題蠻順利的,希望明天也能繼續操作下去!剩下四天了,加油~