c++ 实验报告3_第1页
c++ 实验报告3_第2页
c++ 实验报告3_第3页
c++ 实验报告3_第4页
c++ 实验报告3_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

备注:实验报告的命名方式为:实验报告 3+学号+姓名.doc 一、实验目的 1. 理解概念:类的构造函数、拷贝构造函数、析构函数。 2. 理解类的构造函数和析构函数的作用及运行机制。 3. 掌握构造函数、拷贝构造函数和析构函数的定义及应用。 4. 理解类的组合关系,并掌握类组合关系的实现。 二、实验内容(将源代码写在对应题目的下面) 1.基础部分 (1)定义一个日期类 Date,包括月、日、年 3 个私有数据成员,函数成员包括公有的构 造函数(包括带参构造函数,无参构造函数) 、拷贝构造函数和析构函数、设置数据成员和 获取数据成员等函数;在 main 函数中定义 Date 类的对象,对其进行初始化、修改和输出。 (可自行增加需要的成员函数) (2)定义学生类 Student,包括一些基本信息如学号,姓名,性别,出生日期属于日期类 Date 型(利用第(1)题的 Date 类) ,函数成员包括公有的构造函数(包括带参构造函数, 无参构造函数) 、拷贝构造函数和析构函数、设置数据成员和获取数据成员等函数;在 main 函数中定义 Student 类的对象,对其进行初始化、修改和输出。 (这是组合类的问题。 请使用构造函数实现对象成员的初始化。可自行增加需要的成员函数) #include #include using namespace std; class Date public: Date() Date(int y,int m,int d):m_year(y),m_month(m),m_day(d) Date(Date m_month=con_date.m_month; m_day=con_date.m_day; Date() void show() coutm_year=m_year; private: int m_year,m_month,m_day; ; class Student public: Student() Student(int id,string na,string ge,Date name=na; gender=ge; Student(int id,string na,string ge,int year,int month,int day):birthday(year,month,day) idnumber=id; name=na; gender=ge; Student(Student name=; gender=stu.gender; birthday=stu.birthday; void show() coutname=name; string getName() return name; Student() private: int idnumber; string name; string gender; Date birthday; ; int main() int x,y,z,i; string n,m; couti; coutn; coutm; coutxyz; Date one(x,y,z); Student s1(i,n,m,one); cout #include #include using namespace std; class point private: int x; int y; void setx(int xx) x=xx; void sety(int yy) y=yy; public: /下面这段被注释掉的无参构造函数,如果去掉注释,会怎么样?分析原因。 /*point() x=0; y=0; */ point(int xx=0,int yy=0); point(const point y=pt.y; cout“copy constructor.“endl; void setxy(int xx,int yy) setx(xx); sety(yy); int getx() return x; int gety() return y; void showpoint() cout“x=“x“,y=“yendl; point() cout“point des.“endl; ; inline point:point(int xx,int yy) x=xx; y=yy; cout“constructor.“endl; class line private: point p1,p2; public: line(point line(line p2=ltemp.p2; cout“line copy cons.“endl; double getlen() return sqrt(pow(p1.getx()-p2.getx(),2)+pow(p1.gety()-p2.gety(),2); line() cout“line des.“en

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论