簡體   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