Posted on 2006-09-08 21:37
樱木 阅读(368)
评论(0) 编辑 收藏 引用 所属分类:
程序设计语言
证明: C++中的友元运算符函数operator@不能属于任何类, 也就是说该友元不能是友元成员.
proof:
友元运算符函数只能是一般的类外部友元函数, 而不能是属于某个类的友元成员函数. 如果operator@是A类的成员函数, 同时又是B类的友元, 假设@是m目运算符, 则A类要求operator@只带有n-1个参数. 但同时作为B类的友元, B类要求operator@带有n个参数(因为没有B类的this指针), 由此矛盾.
哇哈哈, 竟然证明C++的语言特性, 这倒是第一次, 值得留念!