实验七 类和对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验7 类和对象
一.实验目的
1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;
2.掌握类对象的定义;
3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;
4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;
5.掌握友元函数的含义,友元函数和成员函数的区别。
二.实验内容
1.定义一个圆类,计算圆的面积和周长。
要求:用成员函数来求圆的面积和周长。
#include
#define pi 3.14
using namespace std;
class Yuan
{
public:
double Zhouchang(int i)
{
r=i;
c=2*pi*r;
return c;
}
double Mianji(int p)
{
r=p;
s=pi*r*r;
return s;
}
void print()
{
cout<<"周长是"< <<"面积是"< } private: int r; double c; double s; }; int main() { Yuan a; a.Zhouchang(3); a.Mianji(3); a.print(); } 2.定义一个学生类,其中3个数据成员为学号、姓名、年龄,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。 要求: (1)使用成员函数实现对数据的输入、输出 (2)使用构造函数和析构函数实现对数据的输入、输出。 #include #include using namespace std; class student { public: student(char * pName,int num,int a); void print(); ~student(); private: char name[20]; int number; int age; }; student::student(char * pName,int num,int a) { strncpy(name,pName,sizeof(name)); name[sizeof(name)]='\0'; number = num; age = a; } void student::print() { cout<<"name:"< <<"number:"< <<"age:"< } student::~student() {} void main() { student s("冯琳琳",2013180071,20); s.print(); } 3.定义日期类型Date。要求有以下面成员: (1)可以设置日期; (2)日期加一天操作; #include using namespace std; class Date { public: Date(int m,int d,int y); private: int month; int day; int year; }; Date::Date(int m,int d,int y) { if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { if(d>31) m=m+1,d=d-31; } else if(m==4||m==6||m==9||m==11) { if(d>30) m=m+1,d=d-30; } else if(y%400==0||y%4==0&&y%100!=0) { if(d>29) m=m+1,d=d-29; } else if(d>28) m=m+1,d=d-28,d; month=m; day=d+1;//执行日期加一天 year=y; cout< } int main() { Date d(4,32,2012); } 三.实验要求 1. 写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 3. 完成实验报告和上交程序。