【求助】C++的一些笔试基本问题
请帮忙解释一下,不懂为什么
1.C++标准库里总共定义了多少个IO对象? 4个
2.
int a=-6;
unsigned int b=5;
if(a+b>0) printf("YES");
else printf("No");
输出的是YES
3.
class A{ public: A(); ~A();};int main(){printf("%d\n",sizeof(A));return 0;}输出的是 1.
4.
class Test{ public: int a; virtual ~Test();};sizeof(Test) 结果是 8 。 C++ sizeof 标准 笔试
[解决办法]
1.cin, cout, cerr, clog
2.a+b的结果为unsigned类型,值为2^32-1,这个你可以看一下关于补码的知识。
3.一个类能够实例化,编译器就需给它分配内存空间,来指示类实例的地址,编译器会给空类隐含的添加一个字节。
4.类中定义了虚函数,所以有虚指针,虚指针4个字节,再加上int成员a的4个字节,所以答案为8