题目描述 模拟标准库字符串类实现你自己的字符串类。该类需具有构造、字符串连接+、取子串和复制构造、移动构造、复制赋值、移动赋值、输出等功能。要求使用动态分配存储字符串内容。 输入描述 测试程序有4个字符串,每个样例前两行含长度不超过200的俩字符串,赋值给前2个字符串对象,后面若干指令,每个指令占一 ...
分类:
其他好文 时间:
2019-04-19 01:03:49
阅读次数:
192
1.有成员对象的类叫做封闭类 2.任何生成封闭类对象的语句,都得让编译器明白对象中的成员对象是如何初始化的。 具体的做法就是通过封闭类的构造函数的初始化列表。 3.构造与析构的顺序 通俗来说就是先放东西后建房子,先拆房子后清空里面东西。 4.封闭类的复制构造函数: 封闭类的对象,如果是用默认复制构造 ...
分类:
其他好文 时间:
2019-04-06 14:05:51
阅读次数:
127
#include<memory>#include<iostream>#include<utility>#include<string.h>#include<stdlib.h>using namespace std;class Widget{public: Widget(){ cout << "Wid ...
分类:
其他好文 时间:
2019-03-20 22:08:00
阅读次数:
277
1 对象的引用: 对象的引用其实就是对同一个对象进行操作,只是在原对象的基础上进行操作 例如: void fun(box &T){ box.length ++; } 2 对象的复制 而对象的复制就是创建一个新的对象,把一个对象的值赋值给这个新对象,赋值的 过程中首先调用复制构造函数 Box::Box ...
分类:
其他好文 时间:
2019-03-19 12:29:17
阅读次数:
191
在GameBoard.h文件里: 在GameBoard.cpp里 编写复制构造函数时,编译器不会自动生成默认的构造函数,因此必须手动添加一个默认的构造函数 ...
分类:
其他好文 时间:
2019-02-08 10:26:39
阅读次数:
156
非类型的参数是“普通的”参数,eg:指针,int,然而非类型的模板参数只能是整数类型(int , char , long long int ...),和枚举类型,引用和指针 在头文件里: 在源文件里: 在main函数里: 可以看出不能通过非常量的整数来指定高度和宽度,但是可以通过const,cons ...
分类:
其他好文 时间:
2019-02-07 20:39:52
阅读次数:
183
[转]为什么复制构造函数的参数需要加const和引用 一.引言 1.0在解答这个问题之前,我们先跑个小程序,看下调用关系。 1.1【输出结果】 1.2【分析结果】 第一个输出: constructor with argument. //CExample aaa(2); 这里创建了变量aaa,在创建的 ...
分类:
其他好文 时间:
2019-02-02 11:12:26
阅读次数:
178
一、运算符的重载 1、运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载。运算符仅仅是语法上的方便,它是另一种函数调用的方式,只有在设计涉及的代码更容易写,尤其是更容易读的时候才有必要重载。 2、实现运算符重载的 ...
分类:
编程语言 时间:
2019-01-12 19:01:59
阅读次数:
200
一、函数返回值 1.返回值: 返回值时最简单的方式,它的操作主要在栈上,变量a在函数结束后会删除,为了返回a的值,系统会在内部建立一个临时变量保存a的值,以返回给调用该函数的表达式,调用结束后变量便不再存在。如果a是简单地数据类型也无所谓,不是很占用内存,如果a是大的自定义类型的数据,那么对a的复制 ...
分类:
编程语言 时间:
2019-01-11 18:06:16
阅读次数:
255
对象:属性和行为;将同一类属性和行为抽象为类 1.面向对象的基本特点: 抽象:将同一类对象的共同属性和行为进行概括,形成类 封装: 将抽象出的数据、代码封装到一起,视为一个整体 增加安全性和简化编程 多态:同一名称、不同功能实现方式,减少标识符个数 继承:在已有类的基础上进行扩展,形成新的类,有利于 ...
分类:
编程语言 时间:
2019-01-07 22:46:59
阅读次数:
234