visual studio-C++继承/#include(多个编译器错误)

visual studio - C++ Inheritance / #include (Multiple compiler errors)

本文关键字:编译器 错误 studio-C++ 继承 #include visual      更新时间:2023-10-16

这是我的第一篇文章,我只是编程专业的一年级学生。因此,请原谅我的任何业余/新手语言或理解能力差,干杯=)

在我的应用程序建模任务中,我被赋予了使用面向对象编程创建库系统的任务。我目前已经为此设置了类,包括所有的方法(gets、sets等),并且我绝对没有语法错误。

然而,我有大量的编译器错误(192和计数…)。

我有一种感觉,这是因为我如何使用继承

我使用了以下类(包括源文件和头文件):

-复制-复制处理程序-Book-图书管理员-目录-目录处理程序-成员-成员处理程序-会员资格申请-成员身份应用程序处理程序-发票-发票处理程序-订单-订单处理程序-订单-订单处理程序

(处理程序类只用于创建相应的对象,例如复制处理程序创建并返回复制对象。)

Copy是第一个类,OrdersHandler是最后一个类,我使用了继承和includes将它们链接在一起。

在"Copy.h"的开头,我键入了以下内容:

#pragma once
#include <array>   //for array used later on
#include <vector>  //for std::vector
#include <string>  //for std::string
using namespace std;
class Copy:
    public CopyHandler //Inheriting from copy handler class

在"CopyHandler.h"的开头,我键入了以下内容:

#pragma once
#include "Copy.h"
class CopyHandler:
public Book //inheritance from book

在"Book.h"的开头,我键入了以下内容:

#pragma once
#include "CopyHandler.h"
using namespace std;
class Book:
    public BookHandler

因此,本质上,在每个头文件中,我都包括前一个文件,并"公开"下一个文件。然而,这仍然会导致我出现3位数的错误。。。

如有任何帮助,我们将不胜感激。

干杯=)

(The handler classes are simply used to create their corresponding object, e.g. copy handler creates and returns a copy object.)

话虽如此,我认为您对继承语法的理解发生了转变。CopyHandler应该继承自Copy,是吗?如果是,语法为:

class CopyHandler : public Copy

您的错误源于:

CCD_ 5继承自CCD_ 6,但CCD_。CopyHandler尚未声明。

继承是由子类(由子类启动)完成的,而不是由父类强制关闭继承,正如您的语法所建议的那样。

良好的语法教程