可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
是建立一个一维数组,他的长度是3
首先赋值符号的左边应该是一个指针啊比如:int*a1
赋值符号右边也有问题,应该是:new int[3]
在C/C++中可以在数组定义的时候对其进行初始化:
if (array.len == 0)//拷贝构造是这个对象还没有存在需要拷贝构造出来,而赋值函数即重写=号操作符使这个对象已经存在了两者完全不一样
point = new T[size];//这儿才是调用了类型T的构造函数,没有调用拷貝构造函数拷贝构造函数使用情景一般是两点:1.初始化时用对象进行初始化 2.存在匿名对象时,构造匿名对象需要用到拷贝构造函数
//数组え素的类型可以是类即数组元素为对象,这儿是用=号直接赋值的因此这儿是调用了赋值函数,并没有调用拷贝构造函数
point[len] = data;//这儿没有调用拷贝构造函数只是调用赋值函数,视频上讲的是错误的
//重写等号操作符返回对象本身,则返回的类型写法MyArray<T>
//重写赋值操作符时先拷贝昰不是自己对自己赋值,然后判断成员指针指向的数组是否有元素
//数组可以容下个多少元素
//当前数组内有多少元素
//什么时候必须要使用初始化列表
//1.成员变量为const修饰的变量
//2.成员变量为引用类型变量
Test t;//通过无参构造函数创建对象这种形式的一定不能写成Test t()这种形式