1.结构struct和类class有什么异同?
解析:在c语言中struct只能对数据进行聚合,而c++的class把数据以及对数据的处理方法也同时聚合为一体,增加了内聚性。 此外class拥有可再生性和可抽象性,实现的代码的复用。集中体现在派生的功能和多态的功能。 同时class也比struct具备更好的封装性,体现在三种访问权限上。
在C++ 中的struct和class的结构基本一致,只是struct的默认权限为Public而class为private。
2. 逻辑思维题:101个硬币100真、1假,真假区别在于重量。请用无砝码天平称两次给出真币重还是假币重的结论。
解析:101个先取出2堆,33,33
第一次称,如果不相等,说明有一堆重或轻那么把重的那堆拿下来,再放另外35个中的33如果相等,说明假的重,如果不相等,新放上去的还是重的话,说明假的轻(不可能新放上去的轻)第一次称,如果相等的话,这66个肯定都是真的,从这66个中取出35个来,与剩下的没称过的35个比下面就不用说了
3.char str1[]=”abc”; char str2[] = “abc”; str1==str2正确吗:
解析:错误,因为str1和str2是位于堆栈上的,它们占用不同的内存空间。
const char str3[] = “abc”; const char str4[] = “abc”;str3==str4为FALSE,
同样它们是位于堆栈上的内存空间,是不同的。
const char *str5=”abc”,
const char *str6=”abc”;
char *str7=”abc”,
char *str8 = “abc”,
str5==str6
str7==str8为TRUE,因为”abc”是位于文字常量区的,
系统将几个“abc”进行优化,使它们位于同一块内存区,因此指针的指向也就相同了。
网友评论