如果這個尺寸是一個非常簡單的問題,我很抱歉,但我是新來的c + +和工作在一個簡單的vocable教練了解c + +。 (來自java ..)傳遞給構造函數的一個引用
我想通過一個const FileManager
作爲我的邏輯參考。但我沒有得到它的工作。我不想擁有副本或其他內容。
所以我想這樣的:(主)
FileManager& file = FileManager();
Logic logic = Logic(file);
內部的邏輯的,我想存儲參考:
class Logic
{
public:
Logic(const FileManager& manager);
~Logic();
private:
const FileManager& m_fileManager;
};
Logic::Logic(const FileManager& manager) :
{
m_fileManager = manager;
}
感謝
在C++文本中查找「構造函數初始值設定項列表」。引用成員變量*是必需*,用上述方式初始化(和const成員一樣)。 – WhozCraig
您通常將指針而不是引用存儲爲成員。另外,不要打電話給你的班級經理。它很混亂,很可能違反了SRP。你也想讓你的構造函數爲'explicit'。 – rightfold
@rightfold我通常存儲引用,當引用必須引用一個對象。在極少數情況下,那個引用是可選的,並且不必指向一個對象,我使用一個指針。 –