一道笔试题目引发的思考
来源:互联网 发布:php模板引擎与java 编辑:程序博客网 时间:2024/06/10 09:06
题目
下面说法错误的是(C)
A、static成员函数没有this指针。
B、static成员函数不能直接访问非static成员。
C、static数据成员不能在类的定义体中初始化。
D、static数据成员独立于类的任意对象而存在,不是该类类型对象的组成部分。
分析
A选项
静态成员函数由于不是与任何的对象相联系,因此它不具有this指针。从这个意义上讲,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数。
B选项
//如下的类定义,下面这样static成员函数直接访问非static函数会出错class base{ static void fun_static(); static void fun_non_static(); };void base::fun_static(){ fun_non_static();}
//如下的类定义,static成员函数可以通过对象间接访问非static函数class base{ static void fun_static(base &a); static void fun_non_static(); };void base::fun_static(B){ B.fun_non_static();}
C选项
class base{ static const int i=0;//可以,但该数据成员依然必须在类的定义体之外进行定义 static int j=0;//不可以 static int m;//可以 const int count;//可以 const int count=0//可以 };
也就说非常量数据成员不能在类定义体中初始化,常量的话是可以的。
D选项
非static数据成员存在于类类型的每个对象中,不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是于类关联的对象。并不与该类的对象相关联。
0 0
- 一道笔试题目引发的思考
- 一道简单的题目引发的思考
- 一道简单的题目引发的思考
- ssd上一道题目引发的思考
- 一道题目引发的多角度思考
- 一道socket题目引发的思考
- 一道面试题目引发的思考
- 一道面试题目引发的思考
- 一道面试题目引发的思考
- 由阿里一道笔试题引发的思考
- 阿里巴巴笔试—— 一道动规引发的思考
- 由阿里一道笔试题引发的思考/ String
- 一道有关Java null笔试题引发的思考
- C++ 一道简单的题目引发的思考
- 一道智力题引发的思考
- 笔试的一道题目
- 一道有意思的笔试题引发的对于new操作符的思考
- 由一道PHP笔试题引发的思考(关于php5的Iterator接口)
- 常见的机器学习&数据挖掘知识点
- 深入理解JavaScript系列(24):JavaScript与DOM(下)
- js中的函数
- PIC配置位之FSCM(故障保护时钟监视器)
- 2015/8/21/EditText属性/TextView属性跑马灯效果/富文本
- 一道笔试题目引发的思考
- 博弈之 Nim 游戏和 sg 函数
- 写 游戏后台管理系统时 碰到的问题 导航页面怎么编写的问题
- 深入理解JavaScript系列(25):设计模式之单例模式
- GCC在C语言中内嵌汇编 asm __volatile__
- 初识Cocos2D-X
- UI入门——简单登陆界面,注册界面及找回密码界面铺设以及切换
- 【c++版数据结构】之双链表的实现(带头结点以及尾节点)
- leetcode-124:Binary Tree Maximum Path Sum(Java)