常对象、常数据成员、常成员函数总结
# 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;
}
常对象、常数据成员、常成员函数总结相关推荐
- C++中的常引用、常对象、常函数、常数据成员
1.常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改.常引用的声明形式为:const 类型说明符 &引用名. ...
- 【C++】 常对象、常数据成员、常成员函数总结
常数据成员 ◆ 常数据成员必须进行初始化,并且不能被更新. ◆ 常数据成员不能在声明时赋初始值(普通数据成员也是),常数据成员必须在构造函数初始化列表进行初始化:普通数据成员在初始化列表和函数体中 ...
- C++学习(六) 常引用、常对象、常对象成员、常成员函数
文章目录 1.常引用 1.1.作用 1.2.说明 二.常对象 2.1.作用 2.2.注意 2.3.说明 三.常对象成员 3.1.作用 3.2.说明 四.常成员函数 4.1.说明 4.2.注意 1.常引 ...
- C++常成员函数 常对象成员
什么是常对象成员,什么是常成员函数? 首先先看一段代码: class A { private:const int a; // 常对象成员,只能在初始化列表赋值public:// 构造函数A() { } ...
- 常对象与常函数(Const修饰的对象与成员函数)
常函数: 其定义与注意事项如下: 1.成员函数后加const后,我们称这个函数为常函数 2.常函数内不可修改成员属性 3.成员属性声明时加关键字mutable后,在常函数中依然 ...
- C++中常对象、常成员函数、常成员变量
用const修饰的类对象叫做常对象, 用const修饰的成员函数叫常成员函数, 用const修饰的成员变量叫常成员变量, 常对象: 型如: const <类名> <对象 ...
- 简单总结 常(常量/const)成员函数 and 常对象的使用
一.常(常量/const)成员函数 在函数定义式()后 + const 比如: class Rational { public://非常成员函数void func() { cout << ...
- 常引用、常对象和对象的常成员
常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.我们经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改. 常引用的声明形式为:const 类型说明符 &引用名 ...
- C++基础知识(常函数和常对象)
1.常函数 void func() const {} 常函数 2.常函数 修饰是 this指针 const Type * const this 3.常函数 不能修饰this指针指向的值 4 ...
最新文章
- 偷看日历?9款 APP 涉嫌过度获取权限
- JMC | 人工智能在药物发现中的应用:走进广阔的天地
- [SPDK/NVMe存储技术分析]012 - 用户态ibv_post_send()源码分析
- Python获取控制台输入
- 数据解析系统中需改进的几点
- 蓝桥杯【(经验+资源)分享】【从零备考 蓝桥杯】说说我的经历及备考经验
- Selenium 功能总结大集合
- 计算机网络互联设备功能,计算机网络互联设备简介
- php序列化和反序列化
- 杭电ACM--2004成绩转换
- oracle基础知识过一遍(原创)
- Git-版本控制 (二)
- ~~核心编程(三):面向对象——逻辑交互与组合~~
- Java构造器(构造方法)与方法区别
- go mysql driver事务,Go 数据库事务的源码分析
- javascript 高级程序设计第三版中文和JavaScript权威指南高清pdf
- roslyn生成html,通过Roslyn将字符串生成可以执行的C#代码
- win10局域网访问其他计算机名,教你win10两台电脑怎么连接局域网
- onnx-modifier:ONNX可视化编辑
- 在linux中运行安卓程序