2016-01-19 231 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特定的问题。您没有提供正确的最小代码示例,因此您无法期望从此处获得简洁的解决方案。请记住,下次询问是否打算这么做。 –

相关问题