答测试题库问题小结1

1.友元函数的判断发生在编译期,而虚函数绑定发生在运行期

2. Consider the following program
Code:
1.   #include <stdio.h>   
2.   int main()   
3.   {   
4.     int  a[5] = {1,2,3,4,5};   
5.     int *ptr =  (int*)(&a+1);   
6.     printf("%d %d" , *(a+1), *(ptr-1) );    
7.   }   
The output for this program is:2 5
解释:(引用)这题的关键是理解a和&a的区别。

a
是指向int类型的常量指针。

&a
则是指向int [5]的一个指针。相当于int (*p)[5] = &a;

如果你想这样定义的话int *p = &a;

这时VC编译器会提示一个WARNING:'int *' differs in levels of indirection from 'int (*)[5]',也就是说类型不匹配

这道题取得了一个不存在的地址(&a+1)之后,然后强制类型转化为(int *),于是*(p-1)便指向了a的最后一个元素。
 
a是int的指针类型,令a'=&aa'应是一个二维的指针变量,分数组a'[0]=a;
,那么a'0+1=&a+1=a'1】;那么强制转化为一维数组后,就可以给ptr
否则不能编译,(error C2440: “初始化”: 无法从“int (*)[5]”转换为“int *”
到第六行时就直接把a'1-1=a'0】【5】输出就行
 
3."0583" //8进制的数字是0~7(最前面的0表示为八进制),所以不符合要求。
 
4.
Const int *x;指向常量的指针,所指向的内容不能改变,指针的值可以修改
int *const x;常量指针,指针的值不可以修改,所指向的内容能改变
 
5.(引用的其他人的文章)
C++嵌套类
1 嵌套类的名字只在外围类可见。  
2 类的私有成员只有类的成员和友元可以访问,因此外围类不可以访问嵌套类的私有成员。嵌套类可以访问外围类的成员(通过对象、指针或者引用)。  
3 一个好的嵌套类设计:嵌套类应该设成私有。嵌套类的成员和方法可以设为public  
4 嵌套类可以直接访问外围类的静态成员、类型名(typedef)、枚举值。  
5 嵌套类定义的名字解析过程:
出现在名字使用点前的嵌套类的声明。
出现在名字使用点前外围类的声明。
嵌套类定义前名字空间域的声明。  
6 嵌套类的成员定义中的名字解析过程:
成员函数局部声明。
嵌套类成员的声明。
外围类成员的声明。
成员函数定义前名字空间域中出现的声明。
 
6.
根据重载规则:运算符后者是该类的成员函数,或者有一个参数的类型是这个类或者是对这个类的引用。=,[],(),->都必须重载为类的成员函数
 
7. x = j > 0即为x=(j>0) 如果j>0,x=1,否则x=0;
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值