类对日期date的封装

来源:互联网 发布:网络机顶盒链接显示器 编辑:程序博客网 时间:2024/06/06 20:53

类对日期date的封装


主函数

#include "stdafx.h"#include <iostream> using namespace std;#include "Date.h"using namespace Space;int _tmain(int argc, _TCHAR* argv[]){Date d(2008,8,8);if (d.isLeapYear())cout << " is leap Year" << endl;elsecout << " is not leap Year" << endl;Date d2(d);//都是栈空间数据 用系统默认的拷贝构造器d2.print();return 0;}


Date.h

#pragma once//与#ifndef DATE_H  #define DATE_H  #endif 的作用相同namespace Space{class Date{public:Date(int y=0, int m=0, int d=0);//构造器中都是栈上空间 使用系统默认的析构器就好void print(); //成员函数int getYear();bool isLeapYear();private:int year;  //数据成员int month;int day;};}

Date.cpp

#include "Date.h"#include <iostream>using namespace std;namespace Space{//Date::Date(int y, int m, int d)//{//year = y;//month = m;//day = d;//}//构造器参数列表 效率很高 因为在没有调用函数之前 //也就是没有进入{}之前就 完成了赋值Date::Date(int y, int m, int d) :year(y), month(m), day(d){}void Date::print(){cout << year << "/" << month << "/" << day << endl;}//year为私有成员 如果想在类外部得到 需要添加方法int Date::getYear() {return year;}bool Date::isLeapYear(){if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)return true;elsereturn false;}}



阅读全文
0 0
原创粉丝点击