gpt4 book ai didi

c++ - C++中的方法链接?

转载 作者:行者123 更新时间:2023-11-30 01:44:53 26 4
gpt4 key购买 nike

我不理解“编程原理与实践”第 2 版中的以下代码片段。作者 Bjarne Stroustroup,文章 13.3。

void Lines::draw_lines() const
{
if (color().visibility())
for (int i=1; i<number_of_points(); i+=2)
fl_line(point(i–1).x,point(i–1).y,point(i).x,point(i).y);
}

我不明白 color().visibility() 部分。这究竟是什么?我听说过方法链接,但我并不完全理解这一点。这是这种方法链接的一个例子吗?我在维基百科上看到,在链式方法中,第一个函数应该返回一个对象,第二个函数成为第一个函数返回的对象的成员函数。但是,在 Bjarne Stroustroup 的这个示例中,在 color() 函数之前没有实例。由于没有实例可处理,此 color() 将如何成为对象的成员函数?请问有人可以启发一下吗?

最佳答案

there is no instance before the color() function

没关系。 color() 可能是 Lines 的成员函数(带有实例 this),或者是全局自由函数(根本没有实例)。

然后正如您所说,第二个函数 visibility() 应该是第一个函数 color() 返回的对象的成员函数。

关于c++ - C++中的方法链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com