当前位置: 首页 > news >正文

【C++】编程新思想,通过封装新的类创建新的数据类型

我们可以通过封装一个新的C++类来实现新的数据类型的定义。

目录

优点:

主要方法:

show();

reset();

use();

change();

operator++():

operator++(int);

operator--() ;

self_increase();

self_reduction();

完整代码:


优点:

  1. 用新的名字代替原有数据类型名
  2. 可以对这种数据类型赋予专属的方法

比如我们可以创建一个intx类

class intx {
private:int num;public:intx(int x) : num(x) {}void show() const {std::cout << num << std::endl;}void reset() {num = 0;}// 使用int类型来获取num的值,但不会修改对象状态int use() const {return num;}// 改变数值void change(int x) {num = x;}// 自增,返回对原对象的引用以支持链式调用intx& self_increase() {++num;return *this;}// 自减,返回对原对象的引用以支持链式调用intx& self_reduction() {--num;return *this;}// 重载++运算符(前缀版本)intx& operator++() {++num;return *this;}// 重载++运算符(后缀版本)intx operator++(int) {intx temp = *this;++(*this);return temp;}// 重载--运算符(前缀版本)intx& operator--() {--num;return *this;}// 重载--运算符(后缀版本)intx operator--(int) {intx temp = *this;--(*this);return temp;}
};

主要方法:

下面我就来介绍一下intx的方法有哪些:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • taro小程序terser-webpack-plugin插件不生效(vue2版本)
  • 同三维T80004解码器视频使用操作说明书:高清HDMI解码器,高清SDI解码器,4K超清HDMI解码器,双路4K超高清解码器
  • 【Android】传给后端的Url地址被转码问题处理
  • C#统一委托Func与Action
  • java之 junit单元测试案例【经典版】
  • 在 CentOS-Stream-9 中使用 network 代替 NetworkManager
  • Apache AGE的MATCH子句
  • 增量预训练和微调的区别
  • Python 读取esxi上所有主机的设备信息
  • Keka for Mac v1.4.3 中文下载 解压/压缩工具
  • 【Arduino IDE】安装及开发环境、ESP32库
  • PF4J+SpringBoot
  • Vscode中Github copilot插件无法使用(出现感叹号)解决方案
  • Vite的WebSocket
  • python的tkinter、socket库开发tcp的客户端和服务端
  • 2017 年终总结 —— 在路上
  • C++类中的特殊成员函数
  • codis proxy处理流程
  • gcc介绍及安装
  • input实现文字超出省略号功能
  • miaov-React 最佳入门
  • Mysql5.6主从复制
  • SpiderData 2019年2月16日 DApp数据排行榜
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 多线程事务回滚
  • 仿天猫超市收藏抛物线动画工具库
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 构造函数(constructor)与原型链(prototype)关系
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 基于 Babel 的 npm 包最小化设置
  • 计算机常识 - 收藏集 - 掘金
  • 讲清楚之javascript作用域
  • 聊聊redis的数据结构的应用
  • 如何合理的规划jvm性能调优
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​数据结构之初始二叉树(3)
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • ###C语言程序设计-----C语言学习(3)#
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (JS基础)String 类型
  • (poj1.2.1)1970(筛选法模拟)
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (二)WCF的Binding模型
  • (二十三)Flask之高频面试点
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (数据结构)顺序表的定义
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)大型网站的系统架构
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)