请问在C++里出现一个对象连续调用类的成员函数是什么意思?谢谢

有本书上在讲到Chart控件使用的例子的时候,出现很多向下面这样的用法:
m_chartOrder.GetPlot().GetAxis(0,var).GetCategoryScale().SetAuto(FALSE);
m_chartOrder.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(1);
就是说m_chartOrder作为CMSChart这个类的一个对象,连续的调用了该类的成员函数,请问这是什么意思啊,这样的调用是怎么执行的?关于这种用法有什么特殊要求吗,还是说只要是类的成员就可以随意这样连续调用?
谢谢,谢谢!
确实像一楼所说的那样,GetPlot()返回另一个类CvcPlot的变量,该类中有GetAxis()方法,该方法又返回另一个类CVcAxis的变量,又有后面的方法,但是我不明白这样的调用是按什么顺序执行的呢?最后得到的结果是什么,是最右边的那个成员函数的结果吗?谢谢!

不是你这样的吧,应该是m_chartOrder调用了GetPlot()这个方法,但是要看这个方法反回的是什么东西啊,如果这个方法反回了另外一个类,比如反回了类A,那么就可以继续使用类A来调用类A中的方法GetAxis,当然现在又要看这个方法反回的是什么玩意儿啊?因此可以连续调用。

最后调用的结果当然是最后那个函数了,如果函数有反回值,就是最后那个函数的反回值。

至于调用顺序就很简单了,肯定是从m_chartOrder对象开始,从左向右调用啊。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-17
应该与成员函数的返回情况有关,
前一次调用函数的返回值应该能构成后一次的调用的前提——后面调用的是其成员函数,为调用者的所属对象。
第2个回答  2010-03-17
这就是类对象调用类的成员函数啊,一个对象可以随意调用它自己类的成员函数的,没有什么特殊要求