2016-01-19 229 views
-3

我想將一個類的實例傳遞給另一個類,以便可以編輯它的某些部分。將對象傳遞給另一個類

Class B{ 
    A *a; 
    void foo(){ 
     a = new A(this); 
     a->doSomething(); 
    } 

Class A{ 
    B &b; 
    A(B &b):b(b){ 

    } 
    void doSomething(){ 
     //Does something to change b 
    } 
} 

不幸的是,它似乎並沒有工作。

+0

請研究一本入門教科書。你有明顯的,非常基本的語法錯誤。堆棧溢出不是學習基本語法的地方。 –

+1

「它似乎不工作」是什麼意思?請提供[mcve](http://stackoverflow.com/help/mcve)。 – songyuanyao

+0

它現在編譯,但它仍然在更新期間崩潰了arduino。 – user3710529

回答

-1

人們並不是敵對的,他們只是想讓你去嘗試。

我不會給你答案,但有很多關於學習課程的幫助。

看看你的兩個班級。你有沒有看到任何錯誤?我只是添加提示,所以你可以看到一些錯誤。

Class B{ 
    A *a; 
    //hint private? or public? 
    void foo(){ 
     a = new A(this); 
     a->doSomething(); 
    } 

Class A{ 
    B &b; 
    //hint 
    A(B &b):b(b){ //hint 

    } 
    void doSomething(){ 
     //Does something to change b 
     //so show us 
    } 
} 
+0

你錯過了一堆更多的提示,這不回答_「問題」_。 –

+0

已經找到答案。我遇到麻煩的原因是,我在一個arduino上進行編程,當你跳出一個索引(他們只是崩潰)時,它不會提供太多的信息。以爲我在所描述的部分上犯了一個錯誤,因爲傳遞指針和引用是我非常虛弱的一點。 – user3710529

+0

@ user3710529實際上似乎不是arduino特定的問題。您沒有提供正確的最小代碼示例,因此您無法期望從此處獲得簡潔的解決方案。請記住,下次詢問是否打算這麼做。 –

相關問題