对不起 跑的时候错了 请看一下

P1601 A+B Problem(高精)

@[Him2009](/user/322792) istream和ostream的重载需要放在外面或者加friend
by 樱初音斗橡皮 @ 2020-07-18 20:43:06


因为你没有传`*this`进去
by 樱初音斗橡皮 @ 2020-07-18 20:43:24


@[樱初音斗橡皮](/user/66287) 谢了
by Jasminoides @ 2020-07-18 20:47:25


举个例子: ``` class foo { int a; public: void input() { scanf("%d", &this->a); return; } } int main() { foo x; x.input(); // 注意这里 return 0; } ``` 这里传入了`*this`,这里`this->a`可以简写成`a`,编译器知道你指的是调用这个函数的对象。调用的时候用`x.f()`这样的形式。 ``` class foo { int a; public: friend void input(foo& x) { scanf("%d", &x.a); return; } } int main() { foo x; input(x); // 注意这里 return 0; } ``` 用`friend`表示可以访问对象的`private`及`protected`元素,但是注意这里是直接用`f(x)`形式调用,也就是说不需要传入`*this`。 同样地,可以放在外面定义,但是缺陷在于无法访问`private`及`protected`内容。
by 樱初音斗橡皮 @ 2020-07-18 20:49:39


@[Him2009](/user/322792)
by 樱初音斗橡皮 @ 2020-07-18 20:49:45


我在
by Jasminoides @ 2020-07-18 21:05:48


|