没有合适的资源?快使用搜索试试~ 我知道了~
基础题目实验报告1
需积分: 0 0 下载量 16 浏览量
2022-08-08
18:56:54
上传
评论
收藏 335KB DOCX 举报
温馨提示
试读
19页
基础题目实验报告1
资源详情
资源评论
资源推荐
C++基础知识实验
因为是4*5的矩阵,在动态申请数组的时候,需要先动态申请4个二维int指针,再对每个
二维int指针动态申请五个一维int指针。
int **matrix = new int*[4];
for (int i = 0; i < 4; i++)
{
matrix[i] = new int[5];
}
在程序运行过程中要及时释放动态申请的内存,对于二维指针来说,同样需要先释放每个
一维指针,再释放4个二维指针。
for (int i = 0; i < 4; i++)
{
delete []matrix[i];
}
delete []matrix;
以矩阵加法为例,返回值为二维int指针。为什么在函数内部定义的变量,可以直接作为
返回值呢?不会发生内存访问错误吗?答案是不会,因为动态申请内存是在堆空间,而
函数返回值之后释放的是栈空间,因此在函数内申请的动态数组不会被释放,在函数外依
然有效。
int ** add_matrix(int **A1, int ** A2)
{
cout << "------------执行矩阵加法------------" << endl;
int **A3 = new int*[4];
for (int i = 0; i < 4; i++)
{
A3[i] = new int[5];
}
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 5; j++)
{
A3[i][j] = A1[i][j] + A2[i][j];
}
}
return A3;
}
实验结果:
类与对象实验
2.1
构造函数和析构函数的分析
有参构造
Circle a(3,4,5);
Circle b(0,0,1);
intersect(a, b);
一个类中的构造函数的执行顺序:
1. 创建派生类的对象,基类的构造函数优先被调用
2. 类里有成员类,成员类的构造函数优先被调用
3. 类本身的构造函数
因此在构造一个Circle之前,先把它内部的所有成员类构造了,如Point类就先被构造
第五行开始,是执行getcenter
函数时,
return
mcenter返回一个类的时候,是返回一个m_center的拷贝,因此执行构造函数。
第七行,先是在cal_distance内,函数返回的时候,析构参数Point a
double Point::cal_distance(Point a)
{
int ax = a.get_x(), ay = a.get_y();
int bx = _x, by = _y;
return sqrt(pow(ax - bx, 2) + pow(ay - by, 2));
}
第八行,是析构a.get_center得到的临时Point类
后续就是正常的析构顺序
剩余18页未读,继续阅读
白羊带你成长
- 粉丝: 21
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (大赛作品)STM32实现的F072RB NUCLEO智能家居控制.zip
- STM32实现的数字示波器源码+数字信号处理教程、配套实例.zip
- 【cookie续续】【cookie续续】【cookie续续】
- 低功耗STM32实现的F411开发板(原理图+PCB源文件+官方例程+驱动等).zip
- 基于stm32实现的 nucleo-L476的智能灯(操作说明+源码).zip
- 基于STM32实现的 NUCLEO板设计彩色LED照明灯(纯cubeMX开发).zip
- 基于STM32实现的 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频).zip
- 基于STM32实现的 人群定位、调速智能风扇设计(程序、设计报告、视频演示).zip
- 哔哩下载姬(DownKyi)
- 千纬认字app再次更新,增加部首、笔画动画功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0