比方說,我們有一個類A
它有一個方法void foo()
。我知道我可以通過使用&A::foo
得到指向foo()
的指針,但是這個指針似乎只依賴類類型,而不是在實例化對象上。如果我們有兩個對象a1
和a2
類型A
,我們如何才能使用指針,成員函數指針或甚至指針地址之間的差異和a2
foo()
方法?基本上,我希望能夠得到一個指向a1
對象內的void foo()
方法的指針,該指針與指向a2
中的void foo()
方法的指針不同。謝謝。比較成員函數指針
Q
比較成員函數指針
-1
A
回答
0
我不認爲你可以讓他們不同。 a1-> foo()和a2-> foo()基本相同。
0
我想你在這裏對一個對象(或類的實例)的概念感到困惑。一個物體就像一個班級的藍圖。 對於每個對象,不能有不同的成員/成員函數。
例如。
class A
{
int result;
public:
void add(int x, int y)
{
this->result = x + y;
}
}
所有A類的對象將具有成員變量結果和在它的成員函數add()
。因此,obj1->add()
和obj2->add()
將調用相同的add()
函數,即使對象本身具有彼此不同的屬性。
obj1->add(1,2)
將導致obj1->result
爲,而
obj2->add(1,3)
將導致obj2->result
爲。
相關問題
- 1. 如何散列和比較指向成員函數的指針?
- 2. 比較結構與指針成員
- 3. 類成員函數指針
- 4. C++函數成員指針
- 5. C++成員函數指針
- 6. boost成員函數指針
- 7. C++成員函數指針
- 8. 與成員函數指針
- 9. 成員函數指針
- 10. 成員函數指針
- 11. 成員函數返回指向成員函數的指針
- 12. 成員函數指針指向函數指針?
- 13. 將指針指向成員函數作爲函數指針
- 14. 爲什麼將成員函數指針與NULL比較會生成警告?
- 15. 模板函數指針成員函數
- 16. 指向虛擬成員函數的指針是否可比?
- 17. 指向函數成員的指針
- 18. 指向成員函數的指針
- 19. CURLOPT_WRITEFUNCTION指向成員函數的指針
- 20. C++指向成員函數的指針
- 21. 指向成員函數的指針
- 22. 將成員函數指針轉換爲普通函數指針
- 23. C++接受成員函數指針和外部函數指針
- 24. 在javascript中比較函數指針
- 25. 調用從const成員函數非const成員函數指針
- 26. 成員函數和const成員函數指針扣
- 27. 用於重載成員函數的成員函數指針
- 28. 如何通過成員函數指針調用成員函數?
- 29. 比較一個指向成員的指針?
- 30. C++函數輸入參數與指針比較由指針
爲什麼一個類的兩個實例有不同的成員函數? –
這聽起來像你可能正在尋找功能+綁定,但很難說肯定沒有更多的細節問題。 –
其實,他們沒有。兩者都有相同的成員函數'void foo()',所以我們可以執行'a1-> foo()'和'a2-> foo()'。 – baboulinet