回 帖 发 新 帖 刷新版面

主题:c++语法求助

代码是这个样子的

class MyApp {
public:
    MyApp();
private:
    ClassA var_classa;
};



MyApp::MyApp() : var_classa(this) //??????这里不明白
{
    //....
}

我知道这是赋值
但为什么是this指针,而不是this->var_classa?

回复列表 (共5个回复)

沙发

那要看你ClassA的定义来定夺:)

板凳

喔喔 
要看当前this的指向瓦~~~

代码是这个样子的

ClassA

MyApp my;
}

那假如在main函数中创建myapp的对象

MyApp test;
那此时this不是代表classa
MyApp::MyApp() : var_classa(this) //?那这里怎么赋值阿
var_classa为空?

3 楼

ClassA

MyApp my;
}
=> 是不可能的。

最起码有个构造函数类似:
class ClassA {
public:
    ClassA(MyApp *pApp);  //最起码有这个。当然参数也可能是MyApp的基类指针。
private:
    MyApp my;
};

4 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

5 楼

恩恩~~~
问题搞定~
感谢以上几位
结贴~

我来回复

您尚未登录,请登录后再回复。点此登录或注册