- 实验目的或任务
面向对象软件开发方法是吸收了软件工程领域有益概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助程序设计者开发出模块化、数据抽象程度高,体现信息隐蔽、可复用、易修改、易移植等特性的程序。
本课程以C++语言中的面向对象机制为主,讨论面向对象程序设计的基本理念与方法机理。通过实验教学环节,使学习者在学习过程中通过一定量的程序实例和相关练习,逐步掌握C++的面向过程和面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。
通过本实验教学环节,可以在以下几个方面提高学习者的专业能力:
- 提高学习者解决问题的抽象能力和逻辑思维能力;
- 初步掌握面向对象的软件设计思路;
- 提高学习者面向对象程序开发工具的自学习能力;
- 使学习者具备面向对象程序开发的基本素养。
- 实验教学基本要求
- 理解掌握C++语言函数的高级特性,理解面向对象程序设计的数据抽象与数据封装性,掌握C++通过类与对象实现数据封装与信息隐藏的机制和方法;
- 理解面向对象程序设计代码重用的设计思想,掌握C++类的继承与派生机制与实现途径;
- 理解面向对象程序设计多态性的概念与思想,掌握C++运算重载、函数重载、虚函数技术实现多态性的机制与方法;
- 理解掌握C++ I/O流实现输入输出的设备无关性理念与方法。
2. 有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。内容提要
1. 一圆型游泳池如图1所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。 图1
- 请写一学生类完成其定义实现。注意其中准考证号的不可变性,团队成绩的共享性;
- 编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。
基本要求
能定义适当的类并定义对象完成设计并提交程序清单。
#include<iostream>
#define P 3.1415926
using namespace std;
int main()
{
int r;
cout<<"泳池半径为:";
cin>>r;
cout<<"栅栏的造价为:"<<35*(r+3)*P*2<<"元"<<endl;
cout<<"过道的造价为:"<<((r+3)*P*(r+3)-P*r*r)*20<<"元"<<endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
string num[20];//学生准考证号
string name[10];//学生姓名
public:
float grade[10];//学生成绩
float teamgrade;//团队成绩
void Init(){//初始化
cout<<"请输入学生姓名,准考证号,个人成绩:"<<endl;
for(int i=0;i<4;++i){
getline(cin,name[i]);
getline(cin,num[i]);
cin >> grade[i];
getchar();
}
cout << "请输入团队成绩:" << endl;
cin >> teamgrade;
}
void Show(){//展示成绩
for (int i = 0; i < 4; i++)
cout << "姓名:" <<name[i] << "\t" << "准考证号:" << num[i] <<"\t "<<"个人成绩:"<<grade[i]<<endl;
cout << "团队成绩:" << teamgrade << "\n" << endl;
}
};
int main(){
Student s1;
s1.Init();
s1.Show();
return 0;
}