面试题
来源:互联网 发布:甘肃金润软件 编辑:程序博客网 时间:2024/05/08 05:21
1、
#include <iostream>class Test{public:void print(){printf("print null\n");}void set(int n){m_val = n;printf("%d\n ",m_val);}private:int m_val;};int main(){Test *a =NULL;a->print();a->set(10); return 0 ;}
编译通过,运行输出:print null
第二条不成功,提示:Access violation writing location 0x00000000.
print是一个类级别的东西,也就是说它和类的实例(或者类的对象)没有任何关系,这也就是“并未使用this指针”,在这种情况下,print仅与a的类型有关,而不管a是什么东西,实际上,你甚至可以写下面这样的代码:
((Test*)123456)->print();
对象级别的东西,比如类中的某个非静态成员变量,这种东西和类的实例有关,因此它使用this指针,这样的情况下,就不能像上面那么写了。
- 面试题....
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- CUDA计时
- 面试问题系列:进程与线程常用问题
- MySql数据查询的逻辑蕴含条件问题
- Pushlet初级Demo1 - 服务端自动推送到客户端
- JavaScriptCSS 层叠样式表
- 面试题
- 深入Java集合学习系列:HashMap的实现原理
- 面试基础
- acm——贪心算法(There is a pile of n wooden sticks)
- 导航电子地图数据中POI搜索技术原理之六
- const关键字浅析
- send、sendto与sys_sendto之间的关系
- 【五子棋AI】启发算法——开局库
- 导航电子地图数据中POI搜索技术原理之七