"2023年面向对象程序设计实验指导书" 本实验指导书是面向对象程序设计课程的实验指导书,旨在帮助学生熟悉面向对象程序设计的基本概念和编程技术。实验指导书共分为三个实验,每个实验都涵盖了面向对象程序设计的不同方面。 实验一:熟悉VC++IDE开发环境 ------------------------ ### 实验目的 1. 熟悉 VC++6.0 集成开发环境,纯熟掌握 VC++6.0 项目工作区、各种编辑器、菜单栏和工具栏的使用。 2. 掌握如何编辑、编译、连接和运营一个 C++程序。 3. 通过运营简朴的 C++程序,初步了解 C++ 源程序的结构和特点。 ### 实验规定 1. 分析下列程序运营的结果。 ``` 程序一: #include <iostream.h> int add(int x, int y = 8); void main() { int x = 4; cout << add(x) << ","; cout << add(x, add(x, add(x))) << endl; } int add(int x, int y) { return x + y; } ``` 程序二: ``` #include <iostream.h> void main() { int *p, i; i = 5; p = &i; i = *p + 10; cout << "i=" << i << endl; } ``` 程序三: ``` #include <iostream.h> void main() { int i = 10; int &r = i; r++; cout << "i=" << i << ", r=" << r << '\n'; i = 88; cout << "i=" << i << ", r=" << r << '\n'; } ``` 程序四: ``` #include <iostream.h> int f(int i) { static int k = 1; for (; i > 0; i--) k += i; return k; } void main() { int i; for (i = 0; i < 5; i++) cout << f(i) << " "; } ``` 程序五: ``` #include <iostream.h> void func(); int n = 1; void main() { static int a; int b = -9; cout << "a:" << a << " b:" << b << " n:" << n << endl; b += 4; func(); cout << "a:" << a << " b:" << b << " n:" << n << endl; n += 10; func(); } void func() { static int a = 2; int b = 5; a += 2; n += 12; b += 5; cout << "a:" << a << " b:" << b << " n:" << n << endl; } ``` 实验二:C++对C的扩充 ------------------------ ### 实验目的 1. 了解在面向对象程序设计过程中 C++对 C 功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。 2. 进一步熟悉编辑、编译、连接和运营 C++程序的方法。 3. 进一步熟悉 C++程序的结构和编程方法。 ### 实验规定 1. 分析下列程序运营的结果。 ``` #include <iostream.h> int amount = 123; void main() { int amount = 456; cout << ::amount << ','; cout << amount << ','; ::amount = 789; cout << ::amount << ','; cout << amount << '\n'; } ``` 2. 编写一个程序,用来求2个或3个正整数中的最大数。 ①用不带默认参数的函数实现。 ②用带默认参数的函数实现。 3. 有5个字符串,规定对它们按由小到大顺序排列,用string方法。 4. 定义一个求两个数中较小值的函数模板min( ),规定在main( )函数中进行调用求两个浮点型数据和两个整型数据中较小的数。 实验三:类和对象(一) ------------------------ ### 实验目的 1. 掌握声明类的方法,类和类的成员的概念以及定义对象的方法。 2. 掌握类的构造函数与析构函数的概念和使用方法。 3. 初步掌握用类和对象编制基于对象的程序。 ### 实验规定 1. 分析下面的程序,写出其运营时的输出结果。 ``` #include <iostream> using namespace std; class Date { public: Date(int, int, int); Date(int, int); Date(int); Date(); void display(); private: int month; int day; int year; }; Date::Date(int m, int d, int y) : month(m), day(d), year(y) {} Date::Date(int m, int d) : month(m), day(d) { year = 2023; } Date::Date(int m) : month(m) { day = 1; year = 2023; } Date::Date() { month = 1; day = 1; year = 2023; } void display() { cout << "month: " << month << ", day: " << day << ", year: " << year << endl; } ```
剩余16页未读,继续阅读
- 粉丝: 3812
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaweb的网上拍卖系统,采用Spring + SpringMvc+Mysql + Hibernate+ JSP技术
- polygon-mumbai
- Chrome代理 switchyOmega
- GVC-全球价值链参与地位指数,基于ICIO表,(Wang等 2017a)计算方法
- 易语言ADS指纹浏览器管理工具
- 易语言奇易模块5.3.6
- cad定制家具平面图工具-(FG)门板覆盖柜体
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt