将用于输出的插入运算符函数operator<<设计成友元函数的根本原因是因为进行输出操作时需要访问对象的内部数据成员。
区块链毕设网qklbishe.com为您提供问题的解答
将用于输出的插入运算符函数operator<<设计成友元函数的根本原因是因为进行输出操作时需要访问对象的内部数据成员。
首先这个函数并不是重载<<操作符,如果不设计为友元函数,那么这个函数就是一个重载函数,我们知道这个重载函数一定有一个参数是this指针,也就是说左操作数一定是this指针,这样的话,我们就无法将要输出的数据输出到cout里面了。我再仔细解释下,<<会匹配他左边的值和右边的值作为左操作数和右操作数,然后这两个操作数传参到你重载的函数里面,由于你的参数有一个默认的this指针,因此他会被作为默认的左操作数,也就是说,如果匹配的不是这个类的对象,就报错了。所以你想输出到cout里,就必须设置为友元函数。
47:10
以上就是关于问题将用于输出的插入运算符函数operator<<设计成友元函数的根本原因是因为进行输出操作时需要访问对象的内部数据成员。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训