如何从基类继承结构成员?

时间:2015-06-08 05:21:15

标签: c++ inheritance

我写了一个简单的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;是静态的。我怎么能到达另一个文件?

1 个答案:

答案 0 :(得分:0)

删除两个全局变量。它们应该是您的库类的实例字段。

如果正确使用stl,很可能根本不需要它们。例如,通过std::vector替换所有数组,除了应该是std::string的char数组。