# include <iostream>
using namespace std;class Time
{public:Time(int h = 10, int m = 30, int s = 59):hour(h), minter(m), sex(s){};//void out_value();void out_value() const; //常成员函数可以引用非常对象和常对象的成员变量(如输出或者计算),但不能修改void set_value(int, int, int);//void Time::set_sex(int);void Time::set_sex(int) const;
private:int hour;//conset int hour;  //被定义为常数据成员,该变量只能通过参数初始化表初始化//可以被常成员函数和普通成员函数引用,但不能被修改int minter;int sex;//mutable int sex;  //声明为mutable后的常对象中的成员变量可以被修改,但只能被常成员函数修改
};
int main(void)
{//Time t1;//int *p;//t1.hour = 1;//p = &t1.hour; //无法指向私有对象成员变量//void (Time:: *p2)() = &Time::out_value;  //定义时指定指向的对象//(t1.*p2)();  //通过指向成员函数的指针调用函数//Time const t2(12, 34, 46);  //定义常对象时必须同时初始化,//只保证其数据成员是常数据成员,且不能调用它的普通成员函数//或者const Time t2(12, 34, 46);//t2.set_value(10, 10 ,10); //error,常对象的成员变量不能被修改//t2.set_sex(59); //正确,sex声明为mutable,可以被常成员函数修改//t2.out_value(); //不能通过常对象调用它的普通成员函数,只能调用它的常成员函数return 0;
}
/*
void Time::set_value(int h, int m, int s)
{hour = h;this->hour = h;(*this).hour = h;minter = m;sex = s;
}*/
void Time::out_value() const
{cout << hour << ":" << minter << ":" << sex << endl;
}void Time::set_sex(int s) const
{//sex = s;
}

常对象、常数据成员、常成员函数总结相关推荐

  1. C++中的常引用、常对象、常函数、常数据成员

    1.常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改.常引用的声明形式为:const 类型说明符 &引用名. ...

  2. 【C++】 常对象、常数据成员、常成员函数总结

    常数据成员  ◆ 常数据成员必须进行初始化,并且不能被更新.  ◆ 常数据成员不能在声明时赋初始值(普通数据成员也是),常数据成员必须在构造函数初始化列表进行初始化:普通数据成员在初始化列表和函数体中 ...

  3. C++学习(六) 常引用、常对象、常对象成员、常成员函数

    文章目录 1.常引用 1.1.作用 1.2.说明 二.常对象 2.1.作用 2.2.注意 2.3.说明 三.常对象成员 3.1.作用 3.2.说明 四.常成员函数 4.1.说明 4.2.注意 1.常引 ...

  4. C++常成员函数 常对象成员

    什么是常对象成员,什么是常成员函数? 首先先看一段代码: class A { private:const int a; // 常对象成员,只能在初始化列表赋值public:// 构造函数A() { } ...

  5. 常对象与常函数(Const修饰的对象与成员函数)

    常函数: 其定义与注意事项如下:     1.成员函数后加const后,我们称这个函数为常函数     2.常函数内不可修改成员属性     3.成员属性声明时加关键字mutable后,在常函数中依然 ...

  6. C++中常对象、常成员函数、常成员变量

    用const修饰的类对象叫做常对象, 用const修饰的成员函数叫常成员函数, 用const修饰的成员变量叫常成员变量, 常对象: 型如:      const  <类名>  <对象 ...

  7. 简单总结 常(常量/const)成员函数 and 常对象的使用

    一.常(常量/const)成员函数 在函数定义式()后 + const 比如: class Rational { public://非常成员函数void func() { cout << ...

  8. 常引用、常对象和对象的常成员

    常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.我们经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改. 常引用的声明形式为:const 类型说明符 &引用名 ...

  9. C++基础知识(常函数和常对象)

    1.常函数  void func()  const {}  常函数 2.常函数  修饰是 this指针  const Type * const this 3.常函数  不能修饰this指针指向的值 4 ...

最新文章

  1. 偷看日历?9款 APP 涉嫌过度获取权限
  2. JMC | 人工智能在药物发现中的应用:走进广阔的天地
  3. [SPDK/NVMe存储技术分析]012 - 用户态ibv_post_send()源码分析
  4. Python获取控制台输入
  5. 数据解析系统中需改进的几点
  6. 蓝桥杯【(经验+资源)分享】【从零备考 蓝桥杯】说说我的经历及备考经验
  7. Selenium 功能总结大集合
  8. 计算机网络互联设备功能,计算机网络互联设备简介
  9. php序列化和反序列化
  10. 杭电ACM--2004成绩转换
  11. oracle基础知识过一遍(原创)
  12. Git-版本控制 (二)
  13. ~~核心编程(三):面向对象——逻辑交互与组合~~
  14. Java构造器(构造方法)与方法区别
  15. go mysql driver事务,Go 数据库事务的源码分析
  16. javascript 高级程序设计第三版中文和JavaScript权威指南高清pdf
  17. roslyn生成html,通过Roslyn将字符串生成可以执行的C#代码
  18. win10局域网访问其他计算机名,教你win10两台电脑怎么连接局域网
  19. onnx-modifier:ONNX可视化编辑
  20. 在linux中运行安卓程序

热门文章

  1. C++练手小游戏1——模拟物理小球的运动
  2. QT中 QTabWidget标签页设置及获取
  3. 前端vue导出 xlsx 实现带标题 内容居中 自动换行 合并单元格 加边框 合计 字体大小设置等
  4. 【WPF】 InkCanvas 书写毛笔效果
  5. java 可以javac不是内部或外部命令
  6. 按图搜索商品(拍立淘) API
  7. yahoo邮箱又开始默默的支持pop客户端啦
  8. Windows解决npm命令没有反应
  9. Arduino 眨眼睛
  10. scratch接苹果 电子学会图形化编程scratch等级考试三级真题和答案解析2021-3