社区
C++ 语言
帖子详情
关于常数据成员
tianshuang.me
2014-01-19 03:08:50
书上的选择,这句话是错的:可以在类体外面定义常数据成员。
为啥是错的?
...全文
228
10
打赏
收藏
关于常数据成员
书上的选择,这句话是错的:可以在类体外面定义常数据成员。 为啥是错的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lm_whales
2014-01-20
打赏
举报
回复
非静态成员函数,不过是一种语法糖而已
lm_whales
2014-01-20
打赏
举报
回复
code::blocks 12.11 版本,自带的minGw, 私有静态变量(常量),不能类外初始化;
lm_whales
2014-01-20
打赏
举报
回复
类有静态成员(属于对象)和非静态成员(属于整个类)两种成员(变量,函数) 成员函数,不过是一种语法糖而已 通过隐藏的,第一个参数,传递对象地址, 即 this 指针,调用函数 对象内部并不存储每一个函数 只有虚函数,需要存储在虚函数表中,对象中需要存储虚表指针。 非静态成员变量,是一个类的对象的一部分,静态成员变量不是,是类作用域的,全体类对象可以使用的变量。 实际上,可以再类外部定义静态成员变量,即使用 const 修饰。 例如 class A{ public: int a;//类内声明,同时也是形式上的定义,而非静态成员的实际定义, //是在定义对象的时候,分配内存和初始化,内置类型不需要初始化。 double b=10;//C++11 成员变量,类内初始化,不支持的编译器,不能这么做 static const double x;//静态成员变量(常量)类内声明 static const int y;//静态成员变量(常量)类内声明 static const M =20;//静态成员常量类内定义 int c[M]; //数组成员变量;-静态成员常量,类内定义后,可以用来定义数组(作为数组长度)。 }; const double A::x = 0;//静态成员变量(常量)类外定义 const int A:: y = 0; //静态成员变量(常量)类外定义
threenewbee
2014-01-19
打赏
举报
回复
定义在类外面的,除了注释和预编译指令(包含、定义、宏等等),应该叫全局变量/常数/函数等等。
threenewbee
2014-01-19
打赏
举报
回复
既然是“成员”,自然应该属于一个类,怎么能在外面定义呢。
tianshuang.me
2014-01-19
打赏
举报
回复
引用 4 楼 ColorfulCode 的回复:
这种? class T { const int a = 9; };
你这应该算是类体里面吧,反正我也不太明白那句话的意思
colorfulcode
2014-01-19
打赏
举报
回复
这种? class T { const int a = 9; };
tianshuang.me
2014-01-19
打赏
举报
回复
tianshuang.me
2014-01-19
打赏
举报
回复
引用 1 楼 lm_whales 的回复:
书,内容贴出来
就是个选择题,叫选错误的选项,答案就是这个
lm_whales
2014-01-19
打赏
举报
回复
书,内容贴出来
提高C#编程水平的50个要点
提高C#编程水平的50个要点 肯定对你有帮助
C++
常
对象、
常
数据
成员
、
常
成员
函数总结
常
数据
成员
常
数据
成员
必须使用初始化列表初始化来初始化,并且不能被更新
常
数据
成员
必须初始化 PS:类的
数据
成员
使用初始化列表进行的初始化 才叫初始化,使用构造函数内部的语句初始化叫赋值
常
对象
常
对象可以调用
常
成员
函数,不能调用非const
成员
函数;非const对象,可以调用普通
成员
函数和
常
成员
函数
常
对象
成员
函数不一定都是
常
成员
函数,
常
对象的
数据
成员
不一定都是
数据
成员
常
对象一旦初始化,
常
对象的
数据
成员
便不可允许修改 如果非要修改某个
成员
变量的话, PS:定义
常
对象有两种方法 1. .
类的
常
数据
成员
、
常
成员
函数、
常
对象、
常
指针/引用
常
成员
类的
常
成员
分为
常
数据
成员
和
常
成员
函数。“
常
”代表“只读”,也就是说一旦确立,一般情况下不会被改变。
常
数据
成员
常
数据
成员
是只读变量,只能读取,不能修改。对于每个对象,
常
数据
成员
都是不可变的,但不同对象的
常
数据
成员
可以不同。在对其进行初始化的时候,要用到构造函数的初始化列表,而不能像其他变量一样,直接在构造函数内初始化。初始化列表在构造函数的()和{}之间,格式为:变量名(值) class Date{ private: const int c; int b; public:
C++中(const)
常
数据
成员
初始化
在类中使用const关键字可以修饰
数据
成员
和
成员
函数或对象,分别称为
数据
成员
、
常
成员
函数和
常
对象。 1
常
量
成员
常
量
成员
包括
常
数据
成员
、静态
常
数
成员
和
常
引用。
常
数据
成员
和
常
引用的初始化只能通过构造函数的
成员
初始化列表显示进行,而静态
常
数据
成员
仍保留静态
成员
的特征,在类外初始化。 例子:
常
数据
成员
初始化 #include /* run this program using the c
常
数据
成员
和
常
成员
函数
常
数据
成员
引言:类存在的目的之一就是为了实现封装性,但是实际上经
常
使用公有函数接口去修改其
数据
成员
,为了保证类中可以有一些
数据
成员
绝对不会被修改,所以创造了
常
数据
成员
特点: 1.在定义时要在头部加const关键字 2.初始化操作只能在构造函数的初始化列表中进行 3.无论是普通
成员
函数还是
常
成员
函数都无法修改其值
常
成员
函数 引言:为了实现这样一种函数:对于其调用的
数据
成员
只能读取,而不能修改。...
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章