“面向对象C++”实验二 类与对象定义初始化
程序员文章站
2024-03-15 18:42:33
...
“面向对象C++”实验二 类与对象定义初始化
一、实验目的
能定义适当的类并定义对象完成设计并提交程序清单。
二、 实验内容
- 一圆型游泳池如图1所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。
- 有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。
1)请写一学生类完成其定义实现。注意其中准考证号的不可变性,团队成绩的共享性;
2)编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。
三、程序清单
1.游泳池问题:
(1)实验代码:
#include"iostream"
using namespace std;
#define P 3.1415926
class Pool
{
private:
float r;
public:
void Printin_r(float a);
void Printout_r();
void fence();
void pass();
} ;
#include "Pub.h"
void Pool::Printin_r(float a)
{
r=a;
}
void Pool::Printout_r()
{
cout<<"泳池半径为"<<r<<endl;
}
void Pool::fence()
{
float c,price1;
c=2*P*r;
price1=35*c;
cout<<"栅栏总长为"<<c<<endl;
cout<<"栅栏的造价为"<<price1<<endl;
}
void Pool::pass()
{
float s,price2;
s=P*r*r;
price2=20*s;
cout<<"过道总面积为"<<s<<endl;
cout<<"过道的造价为"<<price2<<endl;
}
#include "Pub.h"
int main()
{
Pool X;
X.Printin_r(20.0);
X.Printout_r();
X.fence();
X.pass();
}
(2)实验结果
2、学生比赛问题
(1)实验代码:
#include "iostream"
#include <string>
using namespace std;
class Student
{
private:
string num[20];
string name[10];
public:
float stu_grade[10];
float team_grade;
void Printin();
void Printout();
};
#include "Pub.h"
void Student::Printin()
{
cout<<"请输入学生姓名,准考证号,个人成绩:"<<endl;
for(int i=0;i<4;++i)
{
cout<<"第"<<i+1<<"个学生,姓名为:"<<endl;
getline(cin,name[i]);
cout<<"第"<<i+1<<"个学生,准考证号为:"<<endl;
getline(cin,num[i]);
cout<<"第"<<i+1<<"个学生,个人成绩为:"<<endl;
cin >> stu_grade[i];
getchar();
}
cout << "请输入团队成绩:" << endl;
cin >> team_grade;
cout << "\n" << endl;
}
void Student::Printout(){
for (int i = 0; i < 4; i++){
cout << "姓名:" <<name[i] << "\t" << "准考证号:" << num[i] <<"\t "<<"个人成绩:"<<stu_grade[i]<<endl;
}
cout << "团队成绩:" << team_grade << "\n" << endl;
}
#include "Pub.h"
int main()
{
Student stu;
stu.Printin();
stu.Printout();
return 0;
}
(2)实验结果:
四、实验小结
通过这次实验,我的收获如下:
1、在C++语言中,类是一种复杂的数据类型,它将不同类型的数据和与这些数据相关的操作封装在一起的集合体。
2、类具有更高的抽象类,类中的数据具有隐藏性,类还具有封装性。
3、通过这次实验,让我对类的定义更加清晰,对类的实现部分被更加了解。
下一篇: 基于jenkins的自动化单元测试实践