关于类 this指针的问题

有3个类ABC;B继承A;C无关紧要。Coc;A的构造函数定义:CA::conA(&oc){oc->func(this);}B的构造函数定义:CB::conB(&oc):... 有3个类ABC;B 继承 A;C 无关紧要。
C oc;
A的构造函数定义:
CA :: conA(&oc)
{
oc -> func(this);

}

B 的构造函数定义:
CB :: conB(&oc) : conA(oc) {} // 有参继承嘛,我晓得

现在有这样一段代码:

B ob(&oc);

问题来了:
A没有实例化对象,这个this指向的是谁啊!!?

求详解!!谢谢
展开
 我来答
百度网友44b2127
2014-12-26 · TA获得超过855个赞
知道小有建树答主
回答量:630
采纳率:72%
帮助的人:233万
展开全部
其实继承可以理解为在原基础上再加上一块。你这里的this指向的是个B类实例,但在oc -> func(this);调用时它只把这个B实例看做是A实例,(B新加上的那一块看不见)。
更多追问追答
追问
确实指向的是ob;但是不懂是为啥
追答
指向ob不奇怪啊,任何this都是指向自己这个实例。只不过你可以吧这个实例看做B类,或看做A类而已,就像一个小女孩,我可以把他笼统地看做一个人类,也可以再细一点把她当成个女人,如果再细一点就当成小女孩。看的角度不同而已,但看到的还是这个具体的小女孩。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式