This指针

Stock类中,我们无法访问total_value,但是我们可以通过内联代码来获取total_value的值。如下示例:

class Stock
{
private:

    double total_value;
public:
    double total() const { return total_value; };
};

当我们创建两个Stock类对象,通过比它们两个之间total_value值,并返回较大的那个。在这个时候,我们可以这样做:将两个要比较的对象提供给成员函数,然后将方法的答案结果回调给调用程序
如下:

    const Stock & topValue(const Stock & s) const;
const Stock & Stock::topValue(const Stock &s)const
{
    if (s.total_value > total_value)
    {
        return s;
    }
    else
    {
        return *this;
    }
}
    Stock obj1 = Stock();
    Stock obj2 = Stock();
    Stock objTop;
    objTop = obj1.topValue(obj2);
    objTop = obj2.topValue(obj1);

说明:

1.如上,出于效率考虑,我们按引用来传递参数,也就是说,topValue()方法使用一个类型为const Stock &的参数.
2.如objTop = obj1.topValue(obj2);//1. objTop = obj2.topValue(obj1);//2.比较obj1obj2两个对象。第一种隐式访问obj1,显式访问obj2;第二种显式访问obj1,隐式访问obj2。无论使用哪一种方式,都是讲这两个对象进行比较,并返回total_value值较高的那个对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容