c语言 吕凤翥,第5章类和对象吕凤翥C语言基础教程.doc

第5章类和对象吕凤翥C语言基础教程.doc

第5章类和对象(一)

5.1类的定义

一、什么是类

二、类的定义格式

class类名 r

说明部分

public:

成员函数或数据成员的说明

访问权限(或控制)修饰符

private:

数据成员或成员函数的说明

};

访问权限(或控制)修饰符

各个成员函数的实现

实现部分

作用域运算符::

类名::必须出现在函数名前。

“访问权限修饰符(也称访问控制修饰符)(public、private、protected)”在类体内出 现的先后顺序无关,且允许同一修饰符多次出现。一般是先说明公有成员,再说明私有成员

“实现部分”不是必须的,如果所有的成员函数都在类体內定义了,则实现部分可以省 略。当然可以部分成员函数在类体内定义,部分在类体外定义。

数据成员的类型川'以是整型、浮点型、字符型、数组、指针、引用和对象。如果类型是 对象,不能是自身类的对象,但可以是自身类的对象的指针或引用。

如果定义类M时,其成员是类N的对象,而之前还没定义类N,则需要提前说明类N。

不允许在类体内初始化数据成员。

函数名的命名规则一一合法的标示符。

函数名的命名习惯一一当由多个单词构成时,各单词的首字母大写(或从第二个单词开 始首字母大写),各单词间不加分隔符。

可以将类的说明部分或整个定义部分(包含实现部分)放到头文件中,需要的时候便于 引用。

日期的例子

头文件TDate.h

//成员函数的实现在类体外

//成员函数的实现都在类体内

(内联函数)

class TDate

/

class TDate

{

public:

t

public:

void SetDate( int y, int m, int d );

void SetDate( int y, int m, int d )

bool lsLeapYear();

{

void Print));

year = y;

month = m;

private:

day = d;

year, month, day;

}

b

bool IsLeapYearf)

void TDate::SetDate( int y, int m, int d )

{

{

return year % 4 =

=0 && year %

year = y;

100 !=0 11 year % 400 == 0;

month = m;

day = d;

}

}

void Print))

/

bool TDate::lsLeapYear()

I

cout ? year ?

? month

{

<

return year % 4 == 0 && year % 100 != 0

}

|| year % 400 == 0;

}

private:

int year, month, day;

void TDate::Print()

/

};

i

cout ? year <

day ? endl;

}

源文件P162.cpp

//include

^include "TDate.h"

#include

^include "TDate.h"

void main()

void main()

{

{

TDate date;

TDate date;

date.Print));

date.SetDate( 2015, 3,15 );

}

date.Print();

}

//运行结果:

// -858993460.-858993460.-858993460 // Press any key to continue

//运行结果:

// 2015.3.15

// Press any key to continue

平面上点的例子 头文件TPoint.h

//教材P165的例子

//修改了成员函数名及参数名

class TPoint {

public:

void SetPoint( int x, int y ); int GetX() {return x;} int GetY() {return y;} void Move( int dx, int dy );

private: int x, y;

};

void TPoint::SetPoint( int x, int y ) {

this-〉x = x; this->y = y;

}

void TPoint::Move( int dx, int dy ) {

x += dx; y += dy;

}

源文件P162.cpp

include

#include

//include "TPoint.hn

//include "TPo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值