1.判断输出
#include <stdio.h>
main()
{
float a = 0.7;
if(a < 0.7)
printf("C");
else
printf("C++");
}
答案是”C”,因为a是将0.7存储为单精度浮点数,而第二行中a<0.7
常数0.7在c语言中以双精度存储.因此将双精度的正浮点数转换成单精度正浮点数会损失尾数,即a<0.7为true.故输出C.
2.c++类内成员(变量,函数)默认修饰符为private.即若不显式声明修饰符,默认为private.
3.C++中的struct与class的区别
转载来源http://blog.sina.com.cn/s/blog_48f587a80100k630.html
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。
struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!
既然这些它都能实现,那它和class还能有什么区别?
最本质的一个区别就是默认的访问控制:
默认的继承访问权限:
struct是public的,class是private的。
总结:struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。