我写了一个简单的c ++代码,用继承概念做一些库管理。我坚持一些继承的结构问题和一些全局变量问题。 我的代码:
头文件:
#ifndef LIBRARY_H
#define LIBRARY_H
#include <string.h>
#include <iostream>
using namespace std;
static int count_emp;
static int m_nCountBook;
class employee
{
protected:
typedef struct
{
char employee_name[20];
int employee_id;
char employee_dept[20];
char status_emp[10];
} stemp;
public:
stemp emp[10];
void add_employee();
void display_employee();
};
class library : public employee
{
protected:
typedef struct
{
char book_name[20];
int book_id;
char author[20];
char status_book;
} stlib;
public:
stlib lib[10];
void addBook();
void showBook();
void bookTaken();
void bookReturn();
};
#endif
这个概念是当我在另一个文件中实现bookTaken()
函数时,应该检查员工ID并添加status_emp
。如果先前员工的状态为已采取,则不允许。我如何使用这两种结构定义该函数?还有一个问题是static int count_emp
;
static int m_nCountBook
;是静态的。我怎么能到达另一个文件?
答案 0 :(得分:0)
删除两个全局变量。它们应该是您的库类的实例字段。
如果正确使用stl
,很可能根本不需要它们。例如,通过std::vector
替换所有数组,除了应该是std::string
的char数组。