云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C++ 实验报告3

C++ 实验报告3

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 1:42:43

备注:实验报告的命名方式为:实验报告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 &con_date) {

m_year=con_date.m_year; m_month=con_date.m_month; m_day=con_date.m_day; }

~Date() { }

void show() {

cout<

int getM_year() {

return m_year; }

void setM_year(int m_year) {

this->m_year=m_year; } private:

int m_year,m_month,m_day; };

class Student {

public:

Student() { }

Student(int id,string na,string ge,Date &birth):birthday(birth) {

idnumber=id; 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 &stu) {

idnumber=stu.idnumber; name=stu.name; gender=stu.gender; birthday=stu.birthday; }

void show() {

cout<<\

<<\

<<\ cout<

//显示的格式: Student:id-name-gender-Date.show

}

void setName(string name) {

this->name=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;

cout<<\ cin>>i;

cout<<\ cin>>n;

cout<<\ cin>>m;

cout<<\ cin>>x>>y>>z; Date one(x,y,z);

Student s1(i,n,m,one); cout<

2.进阶部分

(3)利用第(1)题和第(2)题中定义的Date类和Student类,在main函数中定义班级通讯录(可用Student类的对象数组实现,数组元素个数可以定义符号常量),并添加本班同学和显示同学信息。

(4)读程序写结果。注:这是一个组合类的问题。点类point的两个对象组合成了line类。线类的构造函数实现了对象成员p1、p2的初始化。 #include #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&pt) {

x=pt.x; y=pt.y;

cout<<\ }

void setxy(int xx,int yy) {

setx(xx); sety(yy); }

int getx() {

return x; }

int gety() {

return y; }

void showpoint() {

搜索更多关于: C++ 实验报告3 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

备注:实验报告的命名方式为:实验报告3+学号+姓名.doc 一、实验目的 1. 理解概念:类的构造函数、拷贝构造函数、析构函数。 2. 理解类的构造函数和析构函数的作用及运行机制。 3. 掌握构造函数、拷贝构造函数和析构函数的定义及应用。 4. 理解类的组合关系,并掌握类组合关系的实现。 二、实验内容(将源代码写在对应题目的下面) 1.基础部分 (1)定义一个日期类Date,包括月、日、年3个私有数据成员,函数成员包括公有的构造函数(包括带参构造函数,无参构造函数)、拷贝构造函数和析构函数、设置数据成员和获取数据成员等函数;在main函数中定义Date类的对象,对其进行初始化、修改和输出。(可自行增加需要的成员函数) (2)定义学生类Student,包括一些基本信息如学号,姓名,性别,出生日期属于日期类Date型

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com