📄 test.cpp
字号:
/* C++ Primer学习笔记
类的创建与继承、虚函数
原书第23页
*/
#include <iostream>
using namespace std;
#include "IntArray.h"
#include "IntArrayRC.h"
void swap(IntArray & Arr,int i,int j)
{
int tmp=Arr[i];
Arr[i]=Arr[j];
Arr[j]=tmp;
}
int main()
{
IntArray a1;//使用默认构造函数创建数组对象
int arr[]={0,1,2,3,4,5};
IntArray a2(arr,4);//使用已知序列创建数组
IntArray a3(a2);//等效于IntArray a4=a3
a1.show ();
a2.show ();
a3.show ();
IntArray ia1(arr,6);//声明一个IntArray对象
IntArrayRC ia2(arr,6);//声明一个IntArrayRC对象
ia1.show ();
//下句调用IntArray类的[]操作符,没有检查下标越界机制
//可见屏幕上依然可以显示出交换后的数组,但已经没有意义了
swap(ia1,0,ia1.size());
ia1.show ();
//下句调用IntArrayRC类的[]操作符和check_range函数,所以会报错,并打印出assert信息
swap(ia2,0,ia2.size ()); //执行到此句报错,无法再继续执行下去
//ia2.show ();
cout<<"\n";
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -