社区
C++ 语言
帖子详情
关于常数据成员
tianshuang.me
2014-01-19 03:08:50
书上的选择,这句话是错的:可以在类体外面定义常数据成员。
为啥是错的?
...全文
226
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/C++指针经典资料大全
C/C++指针经典资料大全,十余部经典资料书籍,是您精通C指针的理想教程。
C++
常
对象、
常
数据
成员
、
常
成员
函数总结
常
数据
成员
常
数据
成员
必须使用初始化列表初始化来初始化,并且不能被更新
常
数据
成员
必须初始化 PS:类的
数据
成员
使用初始化列表进行的初始化 才叫初始化,使用构造函数内部的语句初始化叫赋值
常
对象
常
对象可以调用
常
成员
函数,不能调用非const
成员
函数;非const对象,可以调用普通
成员
函数和
常
成员
函数
常
对象
成员
函数不一定都是
常
成员
函数,
常
对象的
数据
成员
不一定都是
数据
成员
常
对象一旦初始化,
常
对象的
数据
成员
便不可允许修改 如果非要修改某个
成员
变量的话, PS:定义
常
对象有两种方法 1. .
常
数据
成员
、
常
成员
函数、
常
对象
常
数据
成员
常
数据
成员
的初始化只能在类构造函数的初始化表中 MINO::MINO(const char *name, int age, string birth, int height, int weight) : m_name(name),m_birthDate(birth)
常
成员
函数
常
成员
函数不可以调用普通函数,也不能改写对象
数据
某个
成员
变量在const对象中可以被修改有两种方式 将const指针转化为非cosnt以修改非
常
成员
数据
void MINO::display(void)
常
对象、
常
数据
成员
、
常
成员
函数
C++有不少措施保护
数据
的安全性,如private保护类的
数据
成员
等。 但对于一些共用的
数据
,如函数实参与形参等,我们可以在不同的场合通过不同的途径访问同一个
数据
对象。有时不经意的误操作会改变
数据
的值,而这是人们所不希望出现的。 ►既要使
数据
能在函数间共享,又要保证它不被任意修改,可以使用 const限定,即把
数据
定义为只读的。 1.
常
对象
常
对象中的
数据
成员
均是const的,因此必须要有初值。无论什么情况下,
常
对象中的
数据
成员
都不能被修改。 除了合成的默认构造函数和默认析构函数外,也不能调用
C++学习——类的
常
数据
成员
/
常
成员
函数
类的
常
数据
成员
必须进行初始化,而且只能通过构造函数的
成员
初始化列表的方式来进行。列表中对
成员
的初始化顺序,与它们在列表中的顺序无关,而与它们在类中的声明顺序有关。包含
常
数据
成员
的类不能使用默认构造函数。 在对象被创建以后,其
常
数据
成员
的 值不允许被修改。 类的
常
成员
函数声明格式如下: 函数类型
成员
函数名(参数列表) const; 修饰符 const要加在函数说明
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章