Chinaunix首页 | 论坛 | 博客
  • 博客访问: 377063
  • 博文数量: 57
  • 博客积分: 4020
  • 博客等级: 上校
  • 技术积分: 647
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-17 15:57
文章分类

全部博文(57)

文章存档

2009年(22)

2008年(35)

我的朋友

分类: C/C++

2008-10-05 16:12:43

C++类的入门
Author: yuexintian
Date:   2008-10-5 Sunday
1.以输出日期为例,学习类的构成,先看结构程序的方法:
//==================================
//yuexingtian C++笔记 http://yuexingtian.cublog.cn
//日期结构应用程序
//================================== 
#include
#include
using namespace std;
//--------------------------------
struct Date
{
	int year;
	int month;
	int day;
};
//---------------------------------------
	void print(Date);
	bool isLeapYear(Date d);
//--------------------------------------- 
int main()
{
  Date d;
  d.year=2008;
  d.month=9;
  d.day=28;
  if(isLeapYear(d))
    print(d);
}
//--------------------------------
void print(Date s)
{
   cout<'0');
   cout<4)<'-'<2)<'-'<2)<' ');
}
//--------------------------------------------------
 bool isLeapYear(Date d)
 {
   return(d.year%4==0&&d.year%100!=0)||(d.year%400==0);
 }
//======================end=========================

运行结果:

2.以类的方法写这个程序:
//=============================
//yuexingtian C++笔记
//日期类应用程序
//=============================
#include
#include 
using namespace std;
//-----------------------------------
class Date
{
	int year,month,day;
public:
  void set(int y,int m,int d);	//赋值操作
  bool isLeapYear();           // 判断瑞年 
  void print();                //输出日期
}; 
//-------------------------------------------
void Date::set(int y,int m,int d)
{year=y;month=m;day=d;
}
//----------------------------------------
bool Date::isLeapYear()
{return(year%4==0 && year%100!=0)||(year%400==0);}
//----------------------------------------
void Date::print()
{
	cout<'0');
	cout<4)<'-'<2)<'-'<2)<' ');
}
//----------------------------------------
int main()
{
	Date d;
	d.set(2008,10,3);
	if(d.isLeapYear())
	d.print();
}
//========================================== 
//	http://yuexingtian.cublog.cn
//=================结束======================
运行结果:

3.类的默认内联和显式内联
//======================
//yuexingtian C++笔记
//采用内联技术的【日期类】的定义和实现 
//http://yuexingtian.cublog.cn
//======================
#include
#include
using namespace std;
//-------------------
class Date
{
  int year,month,day;
  public:
  void set(int y,int m,int d)
  {year=y;month=m;day=d;}//默认内联
  bool isLeapYear();
  void print();
};
//--------------------
inline bool Date::isLeapYear()//显式内联 
{return(year%4==0&&year%100!=0)||(year%400==0);}
//--------------------
void Date::print()
{
  cout<'0');
  cout<4)<'-'<2)<'-'<2)<' ');
}
//-------------------- 
int main()
{
	Date d;
	d.set(2008,10,4);
	if(d.isLeapYear())
	d.print();
	cout<<"http://yuexingtian.cublog.cn"<//==============结束=================== 

运行结果:

 
阅读(3608) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

scottloong2008-10-07 17:41:44

很不错!!只是int main()里都少一个 return 0;