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

网站服务器有什么区别网站建设与制作段考试题

网站服务器有什么区别,网站建设与制作段考试题,wordpress主题页脚如何修改,wordpress绑定二级域名应该执行什么功能#xff1f;假设我们要实现一个将自动扩展的数组类#xff0c;是否需要实现函数#xff1f;让我们从下面主要功能使用的功能开始#xff0c;看看我们需要实现哪些功能。输出结果#xff1a;0 1 2 3 40 1 2 100 4您需要做什么才能实现上述功能#xff1f;… 应该执行什么功能假设我们要实现一个将自动扩展的数组类是否需要实现函数让我们从下面主要功能使用的功能开始看看我们需要实现哪些功能。输出结果0 1 2 3 40 1 2 100 4您需要做什么才能实现上述功能首先列出若要使用动态分配的内存来存储数组元素并且需要一个指针成员变量重载分配运算符重载括号[]运算符重载的副本构造函数实现push_back和length函数- 2 -实现步骤要实现可变长度数组类您基本上需要实现以下7个功能01构造函数构造函数的目的是初始化一个数组代码如下// 构造函数MyArray::MyArray(int s 0):m_size(s){ // 当初始化长度为0的数组时数组指针就是空的 if(s 0) m_ptr NULL; // 当初始化长度不为0时则申请对应大小的空间 else m_ptr new int[s];02复制构造函数复制构造函数的目的是产生一个与输入对象相同的对象但是由于MyArray类具有指针成员变量因此必须使用深层复制来实现复制构造函数。如果使用默认的复制构造函数则使两个对象的指针成员变量指向同一地址将非常危险。// 复制构造函数MyArray::MyArray(const MyArray a){ // 如果入参的数组对象的指针地址为空时 // 则也初始化一个空的数组 if(a.m_ptr NULL) { m_ptr NULL; m_size 0; } // 如果入参的数组对象有数据时则申请一个新的地址 // 最后来复制入参对象数组对象的数据和大小。 else { m_ptr new int[a.m_size]; memcpy(m_ptr, a.m_ptr, sizeof(int)*a.m_size); m_size a.m_size; }}03析构函数析构函数的目的是释放数组的资源代码如下// 析构函数MyArray::~MyArray(){ // 如果指针地址不为空时则释放资源 if(m_ptr) delete [] m_ptr;}04 重载分配运算符函数重载分配运算符函数目的就是 号左边对象里存放的数组大小和内容都和右边的对象一样代码如下// 重载赋值 运算符函数MyArray MyArray::operator(const MyArray a){ if(m_ptr a.m_ptr) // 防止aa这样的赋值导致出错 return *this; if(a.m_ptr NULL) // 如果a里面的数组是空的 { if(m_ptr) delete [] m_ptr; // 释放旧数组的资源 m_ptr NULL; m_size 0; return *this; } // 如果原有空间足够大就不用分配新的空间 if(m_size a.m_size)用分配新的空间 { if(m_ptr) delete [] m_ptr; // 释放旧数组的资源 m_ptr new int[a.m_size]; // 申请新的内存地址 } // 拷贝内容 memcpy(m_ptr, a.m_ptr, sizeof(int)*a.m_size); m_size a.m_size; return *this;}05重载[]操作符功能重载[]运算符功能的目的是通过[]运算符获取相应下标的数组值代码如下// 重载[]运算符函数int MyArray::operator[](int i){ return m_ptr[i]; // 返回对应下标的数组值}06将元素添加到数组末尾的函数push_back函数的目的是在数组的末尾添加一个新元素代码如下// 在数组尾部添加一个元素void MyArray::push_back(int v){ if(m_ptr) // 如果数组不为空 { // 重新分配空间 int *tmpPtr new int[m_size 1]; // 拷贝原数组内容 memcpy(tmpPtr, m_ptr, sizeof(int)*m_size); delect [] m_ptr; m_ptr tmpPtr; } else // 如果数组本来就是空的 { m_ptr new int[1]; } m_ptr[m_size] v; //加入新的数组元素}07获取数组长度的函数长度函数相对简单。它直接返回成员变量m_size即数组的长度。代码如下// 获取数组长度的函数int MyArray:;length(){ return m_size;}— 04 —— 04 —改进它push_back函数仍有优化的空间。每次添加元素时当前的push_back函数都会重新分配新的内存这会增加开销。然后是优化思想预先分配大小为n的空间当数组大小不足时然后继续重新分配2n大小的空间依此类推。我们需要添加两个成员变量 int m_cout; // 数组元素的个数 int m_newNum; // 扩容的次数改进的push_back函数代码如下— 5 —— 5 —概要最后总体代码如下
http://www.huolong8.cn/news/144046/

相关文章:

  • 成免费crm推广网站建设部网站申请表无法打印
  • 淘宝做海淘产品 网站折扣变化快台州大型网站建设
  • 8上的信息课做网站作业智慧城市o2o wordpress
  • 百度点击率排名有效果吗广州seo效果
  • 国际会议网站建设小程序营销策略
  • 好素材网站同安建设局网站
  • 杭州的设计网站大全重庆腊肠怎么制作
  • 网站设计方案和技巧域名怎么创建网站吗
  • 哪些网站可以做易拉宝wordpress 内存使用教程
  • 中国网站设计欣赏网站手机版
  • 傻瓜式网站建设公众号登陆
  • 顺义企业建站小程序套餐
  • 网站建设沈阳seo推广网站
  • 在校学生兼职网站建设游戏程序员工资大概多少
  • 岳阳网站网站建设郑州最牛的网站开发公司
  • 百度地图放到网站上修改wordpress主页
  • 合肥网站建设公司 招聘山东省环保厅官方网站建设项目
  • 建立网站要多少钱江西南昌建设厅网站
  • 无锡网站制作那些好网站开发策划要求
  • 网站制作涉及的法律东莞阳光网入口
  • 南阳网站托管广州微网站建设价位
  • 安顺网站建设公司wordpress点文章标题怎么出现错误
  • 怎么用自己的电脑建设网站网站建设pdf微盘
  • 东莞网站建设熊掌号网站一定要备案才能设计
  • 百度网站怎么制作广州seo成功案例
  • 网站建设单位有哪些内容扬州seo博客
  • 响应式网站建设信息wordpress获取ssl证书
  • 国际商业网站.net开发的网站 能做成app吗
  • 个人网站 前置审批中国最大型网站
  • 网站空间公司dede网站如何换源码