繁体   English   中英

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

[英]C++ Inheritance / #include (Multiple compiler errors)

这是我的第一篇文章,而且我只是编程专业的一年级学生。 因此,请原谅任何业余/新手语言或对我的理解不深,欢呼=)

对于我的应用程序建模任务,已完成了使用面向对象编程来创建库系统的任务。 目前,我已经为此设置了所有方法(获取,设置等)的类,并且绝对没有语法错误

但是,我有很多(192个还在计数中……)编译器错误。

我感觉这是因为我使用继承的方式

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

-复制-复制处理程序-图书-图书处理程序-目录-目录处理程序-成员-成员处理程序-MembershipApplications -MembershipApplicationsHandler-发票-发票处理程序-Order -OrderHandler -Orders -OrdersHandler

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

复制是我使用继承的第一类,而OrdersHandler是我使用继承的最后一类,包括将它们链接在一起。

在“ 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, eg copy handler creates and returns a copy object.)

话虽如此,我认为您对继承语法的理解已发生变化。 CopyHandler应该从Copy继承,是吗? 如果是这样,则语法为:

class CopyHandler : public Copy

您的错误源于:

CopyCopyHandler继承,但是Copy不知道。 CopyHandler尚未被声明。

继承是由子类(由子类发起)完成的,而不是由父类强制继承的,而不是您的语法建议的那样。

好的语法教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM