c++ 类的基本笔记

c++的类,下面用一个日期类来描述,包括构造函数和析构函数的实例和测试:

#include<iostream>
using namespace std;
class date
{
private:
int year,month,day;//可不写private,则默认为私有成员; 

public:
//date(int y,int m,int d);
date():year(1900),month(1),day(1){}      //无参构造函数 
date(int yy,int mm=1,int dd=1);          //默认参数构造函数 
date(date &d):year(d.year),month(d.month),day(d.day){} //日期类对象构造函数//又称作复制构造函数 
/*以上三个函数都是date函数,函数重载,根据实际情况再确定调用哪个函数*/ 
 
void cin_date(int,int,int);
void cout_date(); 
//~date() {} ;//析构函数(空函数没有一条语句,感觉不到在运行) 下面两个为测试的析构函数
//~date() { cout<<"撤销日期对象\n";}; //添加语句查看析构函数运行

~date()
{
static int i=1;
cout<<"撤销日期对象"<<i<<endl; 
i++;


};
/*date::date(int y=1900,int m=1,int d=1)//构造函数 
{
year=y;
month=m;
day=d;
}
*/
//默认参数构造函数的定义
date::date(int yy,int mm,int dd):year(1900),month(1),day(1)
{
if(yy>=1900&&yy<=9999) year=yy;
else
{
return;
}
if(mm>=1&&mm<=12) month=mm;
else
{
year=1900;
return;
}
if(dd>=1&&dd<=31) day=dd;
else
{
year=1900;
month=1;
return;
}
}
 
void date::cin_date(int y,int m,int d)
{
//cin>>y>>m>>d;
year=y;
month=m;
day=d;
//cin>>y>>m>>d;
}
void date::cout_date() 
{
cout<<year<<"-"<<month<<"-"<<day<<endl;
//cout<<day<<"-"<<month<<"-"<<year<<endl;
}
int main()
{
//构造函数的测试 
date date1;//没有给任何参数————调用无参构造函数
date1.cout_date();
date date2(2006);//月份和天都省去(月,天 默认),调用默认参数构造函数 :date 2(2006,4)或者date(2006,4,1)都是一样 
date2.cout_date();
date date3(date2);//调用日期类构造函数———date3以date2的参数内容为准 
date3.cout_date();

//输入输出测试 
date1.cin_date(2017,6,22);//输入date1 
date1.cout_date();
//system("pause");
date date4;
date4=date1;//等价于调用复制构造函数date date4(date1)   
date4.cout_date();
return 0; 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值