课程编号:B080101020
《C++程序设计》
实验报告
姓名 | | 学号 | |
班级 | | 指导教师 | |
实验名称 | 《C++ 程序设计》综合实验开发与总结 |
开设学期 | 2016-2017学年第一学期 |
开设时间 | 脚踏一星第15周——第18周 |
报告日期 | XXXX |
评定成绩 | | 评定人 | XXX |
评定日期 | 2016-01-12 |
| | | 白水岩瀑布 | |
东北大学软件学院
1. 实验目的
实验一
1) 学习编写简单的C++程序,并掌握C++程序的基本格式与规范。
2) 练习重载函数的使用,掌握指针的使用方法。
3) 学习标准输人输出及格式控制。
4) 学习使用VC ++的debug调试功能,使用step into追踪到函数内部。
实验二
1) 学习并掌握类与对象的定义、使用、声明。
2) 学习具有不同属性的数据成员与成员函数的访问方式。
3) 理解构造函数和析构函数的定义与执行过程。
4) 理解什么是运算符重载,掌握运算符重载的方法
实验三
1) 学习定义和使用类的继承关系,定义派生类。
2) 熟悉不同继承方式下对基类成员的访问控制。
3) 学习使用虚函数实现动态多态性。
4) 学习利用虚基类解决二义性问题。
实验四
1) 加强对模板相关概念的理解,熟悉模板编程的语法。
2) 学习编写简单的函数模板和类模板。
3) 理解STL中容器、算法、迭代器的等概念,明确它们之间的关系。电脑老自动关机
4) 掌握STL中Vector容器的使用方法。
2. 实验环境
编译器:Microsoft Visual C++ 6.0
操作系统:Windows 10
3. 实验内容与实验过程及分析
实验一
项目一:
内容:
使用动态数组完成编写并测试3X3矩阵转置函数,使用数组保存3X3矩阵,使用指针实现函数的功能。
代码:
main()
{
写春景的古诗
int i,j;
int **p;
p=new int*[3];
cout<<"输入矩阵的元素:"<<endl;
for(i=0;i<3;i++)
{
p[i]=new int[3];
for(j=0;j<3;j++)
{
cin>>p[i][j];
}
}
transpo(p);
cout << "转置后的矩阵的为:" << endl;
for(i=0; i<3; i++)
{
for (j=0; j<3; j++)
新春对联七字 cout << p[i][j] << " ";
cout << endl;
为什么我的
}
delete[] p;
}
void transpo (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;
}
}
}
}
运行结果:
总结:
传递二维数组时候通过指针传递,可以对数组进行修改,方便了许多。
项目二:
内容:
编写程序,读写指定的文件,在每一行前加行号后,将结果输出到屏幕
代码:
void write()
{
ofstream out("");
if (out.is_open())
{
out << "第一行\n";
out << "第二行\n";
out << "第三行\n";
out << "第四行\n";
out << "第五行\n";
out << "第六行\n";
}
out.clo();
}
void read()
{
char buffer[88];
ifstream in("");
if (!in.is_open())
{
cout << "Error opening file";
exit(1);
}
while (!in.eof())
{
in.getline(buffer, 80);
cout << buffer << endl;
}
in.clo();
}
void main()
{
cout << "写文件" << endl;
write();
cout << "读文件" << endl;
read();
system("pau");
}
运行结果:
总结:学会了五笔的字C++爸爸用英语怎么说如何进行文件读写操作。
实验二
项目一:
内容:
以成员函数方式重载的“+”操作符的原型为:CPoint CPoint::operator+ (CPoint pt); 以全局函数方式重载的“-”操作符的原型为:CPoint operator- (CPoint pt1, CPoint pt2); 分析以成员函数方式和全局函数方式重载运行符的异同点。重载的“>>”操作符的原型为:istream& operator>>(istream&, CPoint&);重载的“<<”操作符的原型为:ostream& operator>>(ostream&, CPoint);思考一下,重载的“>>”操作符和“<<”操作符能否作为CPoint类的成员函数来实现。