回答
要麼存放指向foo
在你的對象(這意味着你必須從某個地方將它設置爲正確富)或傳遞給你的對象類調用SaySomething()
方法foo
參考。在前一種情況下,您將不得不檢查一個NULL指針。在後者中不允許NULL指針。
@Muntoo是非常有幫助的,但這實際上是我最終做的,所以我必須接受這個回答。 –
作爲一個過於寬泛的回答,您需要爲您嘗試使用的變量提供可尋址的上下文。這實際上意味着什麼取決於你想要做什麼以及代碼中你試圖去做什麼。變量是全球性的,是另一個類的成員,是靜態可訪問的。如果您是入門讀者,請查看CPlusPlus.com's tutorial on variables作爲一般參考,如果您更喜歡書籍人,請查閱Stroustrup的Programming: Principles and Practice Using C++。
在響應你的澄清,這是從here修改:
int main() {
CRectangle rect (3,4);
MyWeirdShape wshapeA;
cout << "rect area: " << rect.area() << endl;
cout << "Weird Shape area: " << wshapeA.area() << endl;
return 0;
}
我們是CRectangle
類的main()
方法中,創造MyWeirdShape
類型的新對象,然後調用area()
得到它的大小。如果這是一個靜態方法,我們可以跳過新對象的創建,只需撥打MyWeirdShape::area()
即可。
我只需要知道如何專門調用一個非全局對象上的函數從另一個對象內。我並沒有真正開始,我只是想知道指針背後的原理,如果這些都是神奇的解決方案。沒有其他語言我用過指針,所以他們對我來說是新的。 –
指針當然可以在這種情況下使用,但它們並不是真正的答案。如果您只是想了解指針背後的概念,請查看本文。 http://www.cplusplus.com/doc/tutorial/pointers/ – Carth
我也推薦cplusplus.com;這是我學習所謂的'高級'C++的地方。 –
從chat相關部分:
[艾略特:]我有一個主要的Map對象。我有幾個'Item'對象都需要能夠訪問同一個Map對象。我認爲指針是這個關鍵。我錯了嗎?
[...]
[艾略特:]我
items
需要訪問Map
對象,因爲他們需要告訴它,他們在哪裏。[muntoo:]哦,好吧,在
Map
裏面有Items
。class Map { std::vector<Item> items; };
我實際上最終傳遞了一個對象的引用,我沒有設法讓這個工作對我來說... –
可以說我有2類
class apple
{
public:
double get_wt();//this returns the wt variable
private:
double wt;
}
class fruit
{
public:
double get_apple_wt();//this returns the wt variable of an apple object whose memory location is stored in apple_ptr
private:
apple *apple_ptr;//points to the memory location of apple object
}
在上述情況下get_apple_wt(
)將是完全有效的,如果你有動態分配的蘋果對象:
apple_ptr = new apple();
這是你想知道什麼? 請做評論!
- 1. 的Java內部類 - 訪問外部對象的變量
- 2. 對象範圍內的變量訪問
- 3. 如何訪問Foreach內部的對象?
- 4. 訪問外部類變量通過內部類對象主要
- 5. 如何從內部類訪問變量
- 6. 如何訪問內部對象在keystoneJS
- 7. 的訪問對象變量
- 8. 變量內部的對象?
- 9. 如何使用內部靜態類對象訪問外部類變量
- 10. 如何從對象訪問變量?
- 11. 訪問對象的對象變量?
- 12. 如何從內部對象訪問外部父對象javascript
- 13. Javascript變量作用域。如何從內部對象函數訪問對象變量?
- 14. 對象內部對象的C++靜態向量訪問嗎?
- 15. 剔除js - 訪問變量內部對象
- 16. 從內部對象訪問父對象
- 17. 訪問變量與對象
- 18. 訪問對象變量
- 19. 如何訪問javascript中對象的內部對象
- 20. 無法訪問的變量我要訪問的對象變量對象
- 21. 如何從變量外部訪問JavaScript對象
- 22. 如何訪問對象函數(javascript)中的對象變量?
- 23. JavaScript改變對象內部的變量
- 24. 局部變量訪問內部類(java)
- 25. JS對象,如何從我自己內部訪問對象
- 26. 如何訪問內部類中的外部類變量
- 27. 如何訪問外部類的變量在內部類在c#
- 28. 如何訪問內部類的局部變量
- 29. 如何在javascript中訪問foreach內部的外部對象
- 30. 如何從C++的內部類訪問外部類對象
你想達到什麼目的? –
我想從第一個對象中調用第二個對象的函數。我希望能夠去'foo.bar.SaySomething('Hello!');'其中foo是我的第一個對象,bar是對第二個對象的引用,假設我的第二個對象有一個名爲'SaySomething ' 在上面。 此外,爲什麼我的文章被編輯? –
因此,執行'foo.SaySomething(「Hello!」)'也是合法的? –