我最近開始使用 C ,老實說,我的講師幫不上什么忙,我試圖讓鏈表朋友訪問節點類。據我所知,我已經宣告了我需要的一切,但我仍然無法訪問 Node 私有成員,如果有人能看到我遺漏的東西,那就太好了!
我的節點頭檔案:
```#ifndef NodeofBook_h
#define NodeofBook_h
#include <stdio.h>
#include "Book.h"
class ListOfBooks;
//
class NodeofBook {
friend class ListOfBooks;
private:
NodeofBook* next;
Book* theBook;
public:
};
#endif /* NodeofBook_h */
我的鏈表頭檔案:
#ifndef ListOfBooks_h
#define ListOfBooks_h
#include <stdio.h>
#include "NodeofBook.h"
class ListOfBooks {
private:
public:
ListOfBooks();
void insertBack(int);
void displayList();
int deleteMostRecent();
int deleteInt(int pos);
};
#endif /* ListOfBooks_h */
我的鏈表 cpp 檔案:
#include "ListOfBooks.h"
int ListOfBooks(){
return 0;
}
ListOfBooks::ListOfBooks(){
theBook->title = "noTitleYet";
theBook->isbn = 0000;
next = NULL;
}
我收到一條錯誤訊息,說明使用未宣告的識別符號“theBook”
任何幫助真的很感激!
uj5u.com熱心網友回復:
NodeofBook宣告它ListofBooks是一個朋友類只是意味著的實作ListofBooks可以訪問NodeofBook的私有成員,但仍然需要有一個 的實體NodeofBook才能訪問。它的成員不是靜態的;非靜態成員變數是某個物件的一部分。也就是說,僅僅因為ListofBooks是 的朋友NodeofBook并不意味著它神奇地擁有NodeofBook成員的實體。
朋友關系不是像繼承這樣的 is-a 關系:它只是關于訪問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363446.html
