运算符优先级顺口溜:单算一笔,俺裸三服(才单算了一笔账,我就脱了三件衣服) 1单:单目运算符; 2算:算数运算符;加、减、乘、除、取余 3一:移位运算符;左移、右移 4笔:比较运算符; 等于【==】、不等于【!=】 、关系运算符【< > <= >= 】 5俺:按位运算符;按位与(&),按位或(|)、按位非(~)、按位异或(^) 6裸:逻辑运算符;与【&&】 、或【||】、非【!】 7三:三目运算符;b ? x : y,先计算b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值 8服:赋值运算符。赋值运算符【= += -= *= /= %= >>= <<= &= |= ^=】为什么不是21212121#includeusing namespace std;class A{ public: long a; }; class B : public A { public: long b; }; void seta(A* data, int idx) { data[idx].a = 2; } int main(int argc, char *argv[]) { B data[4]; for(int i=0; i<4; ++i){ data[i].a = 1; data[i].b = 1; seta(data, i); } for(int i=0; i<4; ++i){ std::cout << data[i].a << data[i].b; } return 0; }