你称之为成员函数的成员函数是什么?如何编写成员函数?

时间:2016-11-29 12:45:05

标签: c++ c++11

你在成员函数之后调用函数并修改返回值以及如何编写返回值?

换句话说,我如何成功写作:

std::cout << box.getVolume().inCubicFeet();

std::cout << box.getVolume().inCubicCentimeters();

3 个答案:

答案 0 :(得分:4)

为了工作getVolume()需要返回类型为Volume的对象(或者甚至是对Volume &类型的对象的引用),所以无论你遵循什么方法,你都能够在所述对象上调用它。 例如:

class Volume{
    ...
    int inCubicFeet() const {
        //convert it and return it
    }
    int inCubicCentimeters() const {
        //convert it and return it
    }
};


class Box{
    Volume v; //volume object that is initialized somewhere 
              //(either in the constructor of Box or in a method like setVolume)
    ...
    Volume const& getVolume() const {
        return v;
    }
};

答案 1 :(得分:0)

box.getVolume()需要返回class对象,其中定义了函数inCubicFeet(),该函数返回std::ostream具有的值<<一个重载的double运算符(尽管您可以定义自己的重载)。对于第二部分,//SYSIN DD * SORT FIELDS=(1,6,CH,A, 7,8,CH,D) SUM FIELDS=NONE /* 就足够了。

答案 2 :(得分:0)

它被称为&#34;返回类型&#34;的成员函数。这些方法没有什么特别之处。代码可以这样写:

const Volume& v = box.getVolume();    // my guess on what the return type is
std::cout << v.inCubicFeet();