77范文网 - 专业文章范例文档资料分享平台

C++.NET实验(实验三)

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验三 类与对象的建立与构造函数

一、实验目的

1、熟悉类定义的一般形式。

2、掌握类中方法的实现形式:在类的内部实现,也可放在类的外部。 3、熟悉类的构造函数的定义。 4、熟悉C++类文件的一般组织结构。

二、实验任务

1、编辑并运行下列程序,熟悉类的定义、类中方法的实现形式和类的应用。

//lab3-1.cpp

#include using namespace std;

class date //类date的定义 {

private: int year, month,day;//分别表示年月日 public: void setDate(int y,int m,int d);//y,m,d分别代表年月日 void showDate()//输出日期,实现放在类中 { cout<

};//类定义结束

//类的方法实现放在类的外部

void date::setDate(int y, int m, int d) { year=y; month=m; day=d; }

//主函数 int main() {

date d1;

d1.setDate(2013,10,1); d1.showDate(); return 0; }

2、创建date类,保存为date.h,在date.cpp中实现该类的一些方法,并在main.cpp文件中调用该类。

依次创建这三个文件,文件内容如下,其中date.cpp部分内容需要补全。文件date.h在“解决方案资源管理器”的“头文件”文件夹中创建,其它两个文件在“源文件”文件夹中创建。

//date.h

class date {

private: int year, month,day; public:

date(char *str); //输入字符串2013-10-01

};

date(int y,int m,int d);//y,m,d分别代表年月日 date(); //手动输入年月日 bool leap( ); //判断是否为闰年

int days(); //判断当前日期为该年的第几天,如2013-03-11为第70天 void showDate();//输出日期

//date.cpp

#include \#include using namespace std;

void date::showDate()//输出日期 { cout<

date::date()//手动输入年月日 { cin>>year; cin>>month; cin>>day; }

bool date::isLeap() { //?? }

//??需要实现的其它方法 //??

//main.cpp

#include \#include using namespace std;

int main() { date date1(2013,10,1); date1.showDate(); if(date1.isLeap()) cout<<\是闰年\ else cout<<\非闰年\ cout<<\第\天\ date date2(\ date2.showDate(); date date3; date3.showDate(); return 0; }

3、在第2题的基础上

#if !defined _DATE_H #define _DATE_H

(1) 先将下面两行代码加到date.h的开头: 然后将代码:#endif 加到date.h的末尾。

(2) 找到date.cpp或main.cpp文件中的预编译指令:#include \,

将该指令复制多份,保存文件,编译并运行,观察是否导致编译错误。然后,将date.h中开头和结尾处刚刚添加的三行代码删除,再次编译并运行,观察是否有编译错误,体会一下在头文件中添加这三行代码的作用。 4、教材【例4-3】

5、编辑并运行下列程序,理解构造函数和析构函数在何时被自动调用。

//createanddestroy.h

#if !defined _CREATEANDDESTORY_H #define _CREATEANDDESTORY_H

#include using namespace std;

class CreateAndDestroy { public:

CreateAndDestroy(int n) {

no = n;

cout<<\ }

~CreateAndDestroy()

{ cout<<\private: int no; };

#endif

//lab3-5.cpp

#include \

CreateAndDestroy one(1); //定义全局对象one int main() {

CreateAndDestroy *ptr;

CreateAndDestroy two(2); //定义局部动态对象two {

CreateAndDestroy three(3);//局部对象three ptr = new CreateAndDestroy(4); //动态对象 static CreateAndDestroy five(5); //静态对象 }

delete ptr; //释放动态创建的对象 return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++.NET实验(实验三)在线全文阅读。

C++.NET实验(实验三).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/978865.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: