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

信息发布类网站模板电动车网站建设

信息发布类网站模板,电动车网站建设,免费咨询医生不收费,免费营销网站制作模板文章目录 一、下标 [] 运算符重载1、数组类回顾2、下标 [] 运算符重载 二、完整代码示例1、Array.h 数组头文件2、Array.cpp 数组实现类3、Test.cpp 测试类4、执行结果 一、下标 [] 运算符重载 1、数组类回顾 在之前的博客 【C】面向对象示例 - 数组类 ( 示例需求 | 创建封装类… 文章目录 一、下标 [] 运算符重载1、数组类回顾2、下标 [] 运算符重载 二、完整代码示例1、Array.h 数组头文件2、Array.cpp 数组实现类3、Test.cpp 测试类4、执行结果 一、下标 [] 运算符重载 1、数组类回顾 在之前的博客 【C】面向对象示例 - 数组类 ( 示例需求 | 创建封装类 | 数组类头文件 Array.h | 数组类实现 Array.cpp | 测试类 Test.cpp - 主函数入口 ) 中 , 实现了一个数组类 , 在一个类中 , 封装了一个 int 类型的指针 , 该指针指向堆内存的 内存空间 , 用于存放一个数组 ; 核心是 2 2 2 个成员变量 , 记录指向堆内存的指针 , 和 数组长度 ; private:// 数组长度int m_length;// 指向数组数据内存 的指针int* m_space;数组都可以使用下标进行访问 , 如果要使用下标访问 自定义 Array 类对象 , 需要重载 [] 下标运算符 ; 下面基于 博客 【C】面向对象示例 - 数组类 ( 示例需求 | 创建封装类 | 数组类头文件 Array.h | 数组类实现 Array.cpp | 测试类 Test.cpp - 主函数入口 ) 中 的代码 , 重载 数组下标 [] 操作符 ; 2、下标 [] 运算符重载 使用 成员函数 实现 下标 [] 运算符重载 : 首先 , 写出函数名 , 函数名规则为 operate 后面跟上要重载的运算符 , 要对 Array a 对象 , 使用 [] 运算符 , 使用时用法为 a[i] ;函数名是 operate[] ; operate[]然后 , 根据操作数 写出函数参数 , 参数一般都是 对象的引用 ; 要对 Array a 对象 , 使用 [] 运算符 , 使用时用法为 a[i] ,左操作数 : 其中 左操作数 是 a ,右操作数 : 运算符里面还有一个 int 类型的索引值 , 是右操作数 ;如果是成员函数 , 则将重载函数写在 左操作数 中 , 在 重载操作数的 成员函数中 this 指针就是 左操作数 ;此时只需要额外指定一个 int 类型右操作数 即可 ; operator[](int i)再后 , 根据业务完善返回值 , 返回值可以是 引用 / 指针 / 元素 ; 要对 Array a 对象 , 使用 [] 运算符 , 使用时用法为 a[i] ;a[i] 除了获取值之外 , 还要可以设置值 ;a[i] 既可以作为左值 , 又要可以作为右值使用 ;因此返回值必须是 int 值本身 , 如果返回 int 值就只是一个副本值 没有意义 , 这里返回 int 引用类型 ; int operator[](int i)最后 , 实现函数体 , 编写具体的运算符操作业务逻辑 ; // 数组下标 [] 操作符重载 int Array::operator[](int i) {return m_space[i]; }在测试类中 , 使用数组下标为数组设置值 , 并使用数组下标操作符获取数组元素的值 ; Array array(3);// 设置 array 数组值for (int i 0; i array.length(); i){//array.setData(i, i 5);array[i] i 5;}// 打印 array 数组值for (int i 0; i array.length(); i){//cout array.getData(i) endl;cout array[i] endl;}二、完整代码示例 1、Array.h 数组头文件 #pragma once#include iostream using namespace std;class Array { public:// 无参构造函数Array();// 有参构造函数Array(int len);// 拷贝构造函数Array(const Array array);// 析构函数~Array();public:// 设置数组数据void setData(int index, int value);// 获取数组数据int getData(int index);// 获取数组长度int length();public:// 数组下标 [] 操作符重载int operator[](int i);private:// 数组长度int m_length;// 指向数组数据内存 的指针int* m_space; };2、Array.cpp 数组实现类 #include Array.h// 无参构造函数 Array::Array() {// 设置数组长度m_length 10;// 为数组在堆内存中分配内存m_space new int[m_length];cout 调用无参构造函数 endl; }// 有参构造函数 Array::Array(int len) {// 设置数组长度m_length len;// 为数组在堆内存中分配内存m_space new int[m_length];cout 调用有参构造函数 endl; }// 拷贝构造函数 // 这是一个深拷贝 拷贝构造函数 Array::Array(const Array array) {// 设置数组长度m_length array.m_length;// 创建数组m_space new int[m_length];// 为数组赋值for (int i 0; i m_length; i){m_space[i] array.m_space[i];}cout 调用拷贝构造函数 endl; }// 析构函数 Array::~Array() {if (m_space ! NULL){// 释放 new int[m_length] 分配的内存 delete[] m_space;m_space NULL;}cout 调用析构函数 endl; }// 设置数组数据 void Array::setData(int index, int value) {m_space[index] value; }// 获取数组数据 int Array::getData(int index) {return m_space[index]; }// 获取数组长度 int Array::length() {return m_length; }// 数组下标 [] 操作符重载 int Array::operator[](int i) {return m_space[i]; }3、Test.cpp 测试类 #include iostream using namespace std;#include Array.hint main() {Array array(3);// 设置 array 数组值for (int i 0; i array.length(); i){//array.setData(i, i 5);array[i] i 5;}// 打印 array 数组值for (int i 0; i array.length(); i){//cout array.getData(i) endl;cout array[i] endl;}// 使用拷贝构造函数 赋值Array array2 array;// 打印 array2 数组值for (int i 0; i array2.length(); i){//cout array2.getData(i) endl;cout array2[i] endl;}// 控制台暂停 , 按任意键继续向后执行system(pause);return 0; }4、执行结果 执行结果 : 调用有参构造函数 5 6 7调用拷贝构造函数 5 6 7 请按任意键继续. . .
http://www.hkea.cn/news/14412377/

相关文章:

  • 做网站还要写文章吗怎么建立一个网站的快捷方式
  • 讯美深圳网站建设公司个人怎么做网络推广
  • 网站建设 工商注册wordpress 拖拽神器
  • 如何做网站清风制作重装wordpress图片不见了
  • 网站建设需放在哪个科目网页制作个人主页教程
  • 淘宝客可以做返利网站吗网站软文怎么写
  • 太原网站建设鸣蝉公司平面设计公司有什么职位
  • python合适做网站吗wordpress添加首页菜单
  • 中国做网站最好的公司客户做网站需要提供什么
  • 兴化网站建设价格网站建设怎么接单
  • 常见c2c网站有哪些网站建设集群化的必要
  • 深圳市专业网站建设网站建设中广告图片尺寸
  • 昆山住房和城乡建设部网站平面设计工作主要内容
  • 佛山网站设计专业浙江网站建设哪里有
  • 潍坊网站建设 诸城wordpress cdn 阿里云
  • 江北网站建设价格友情链接外链
  • 怎样在我的世界做汽车视频网站西安市未央区建设局官方网站
  • 宁波网站推广优化外包中国国内最新新闻
  • 东莞企业网站价格龙口市最新公告
  • 手机免费建站系统代码型网页制作软件
  • 刘强东自己做网站阿里巴巴官网下载app
  • 平台网站建设协议书坑梓网站建设包括哪些
  • 福州软件网站开发培训班那些网站使用vue做的
  • 博客网站seo站长之家seo综合查询
  • 怎么用手机做刷会员网站温州seo结算
  • 京东购物网站怎么做123邢台招聘信息网
  • 聚美优品返利网站怎么做网站的彩色标签怎么做的
  • 做界面网站用什么语言网站空间合同
  • 浙江网站建设商城价格三合一网站和传统网站
  • 规划和布局营销型网站的四大重点vs做网站怎么添加子页