东北大学软件学院C++实验报告 下载本文

课程编号:B080101020

《C++程序设计》

实验报告

姓班实开开报评验设设告定名学时日成名 级 称 期 间 期 绩 学指导教号 师 《C++ 程序设计》综合实验开发与总结 2016-2017学年第一学期 第15周——第18周 XXXX 评评定定日人 期 XXX 2016-01-12

东北大学软件学院

《C++程序设计》实验报告 东北大学软件学院

1. 实验目的

实验一

1) 2) 3) 4) 学习编写简单的C++程序,并掌握C++程序的基本格式与规范。 练习重载函数的使用,掌握指针的使用方法。 学习标准输人输出及格式控制。

学习使用VC ++的debug调试功能,使用step into追踪到函数内部。

实验二

1) 2) 3) 4) 学习并掌握类与对象的定义、使用、声明。

学习具有不同属性的数据成员与成员函数的访问方式。 理解构造函数和析构函数的定义与执行过程。 理解什么是运算符重载,掌握运算符重载的方法

实验三

1) 2) 3) 4) 学习定义和使用类的继承关系,定义派生类。 熟悉不同继承方式下对基类成员的访问控制。 学习使用虚函数实现动态多态性。 学习利用虚基类解决二义性问题。

实验四

1) 2) 3) 4) 加强对模板相关概念的理解,熟悉模板编程的语法。 学习编写简单的函数模板和类模板。

理解STL中容器、算法、迭代器的等概念,明确它们之间的关系。 掌握STL中Vector容器的使用方法。

2. 实验环境

编译器:Microsoft Visual C++ 6.0 操作系统:Windows 10

- 1 -

《C++程序设计》实验报告 东北大学软件学院

3. 实验内容与实验过程及分析

实验一

项目一: 内容:

使用动态数组完成编写并测试3X3矩阵转置函数,使用数组保存3X3矩阵,使用指针实现函数的功能。 代码:

main() { int i,j; int **p;

p=new int*[3]; cout<<\输入矩阵的元素:\ for(i=0;i<3;i++) { p[i]=new int[3]; for(j=0;j<3;j++) { cin>>p[i][j]; } } transpose(p); cout << \转置后的矩阵的为:\ for(i=0; i<3; i++) { for (j=0; j<3; j++) cout << p[i][j] << \ cout << endl; } delete[] p; }

void transpose (int **matrix) { int i,k,j; for(i=0;i<3;i++) { for(j=0;j<3;j++){ if(j>i){ k=matrix[j][i]; matrix[j][i]=matrix[i][j]; matrix[i][j]=k;

- 2 -