[英]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
您的錯誤源於:
Copy
從CopyHandler
繼承,但是Copy
不知道。 CopyHandler
尚未被聲明。
繼承是由子類(由子類發起)完成的,而不是由父類強制繼承的,而不是您的語法建議的那樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.