Когда operator <<
ссылается на оператор вставки и когда он ссылается на побитовый сдвиг влево?
Это приведет к выходу 10
, а operator <<
относится к сдвигу влево.
cout << a.b() << a.a.b << endl;
И это выведет 11
, operator <<
относится к оператору вставки.
cout << a.b();
cout << a.a.b ;
Я запутался, когда operator <<
(при использовании с cout
) относится к оператору сдвига влево?
#include <iostream>
using namespace std;
class A {
public:
A() { a.a = a.b = 1; }
struct { int a, b; } a;
int b();
};
int A::b(){
int x=a.a;
a.a=a.b;
a.b=x;
return x;
};
int main(){
A a;
a.a.a = 0;
a.b();
cout << a.b() << a.a.b << endl; // ?????
return 0;
}