欢迎来到天天文库
浏览记录
ID:40238306
大小:663.00 KB
页数:117页
时间:2019-07-28
《C++面向对象程序设计 李素若 杜华兵主著 c3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章类和对象3.1类的构成3.1.1从结构到类例:有关日期结构的例子。#includestructDate{intyear;intmonth;intday;};main(){Datedate1;//关键字struct不必要date1.year=2003;date1.month=8;date1.day=25;cout<2、nsigneddeposit(unsignedamount)//成员函数{balance+=amount;returnbalance;}private:unsignedaccountNumber;//数据成员floatbalance;};C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构中默认情况下的成员是public的。3.1.2类的定义类声明的一般格式如下::class类名{public:公有数据成员;公有成员函数;protected:保护数据成员;保护成员函数;private:私有数据成员;私有成员3、函数;};用一个类来描述日期,其形式如下:classDate{public:voidsetDate(inty,intm,intd);voidshowDate();private:intyear;intmonth;intday;};3.1.2类的定义成员函数的声明通常采用以下两种方式:(1)将成员函数以普通函数的形式进行说明,这种成员函数在类外定义的一般形式是:返回类型类名∷成员函数名(参数表){//函数体}3.1.3成员函数的定义例如,以下是表示坐标点的类Coord的声明。classCoord{public:voidsetCoord(int,int4、);//设置坐标点intgetx();//取x坐标点intgety();//取y坐标点private:intx,y;};voidCoord∷setCoord(inta,intb){x=a;y=b;}intCoord::getx(){returnx;}intCoord::gety(){returny;}3.1.3成员函数的定义例3.2在类之后定义成员函数#include#include"tdate.h"voidTdate::Set(intm,intd,inty){month=m;day=d;year=y;}intTdate::5、IsLeapYear(){return(year%4==0&&year%100!=0)6、7、(year%400==0);}voidTdate::Print(){cout<8、ty(){retruny;}private:intx,y;};3.1.3成员函数的定义例3.1成员函数和数据成员的定义#includeclassTdate{public:voidSet(intm,intd,inty){month=m;day=d;year=y;}intIsLeapYear(){return(year%4==0&&year%100!=0)9、10、(year%400==0);}voidPrint(){cout<11、tday;intyear;};main(){Tdatea;a.Set(8,8,2008);a.Print();system("pause");return0;}②显式声明这种成员函数在类外定义的一般形式是:inline返回类型类名::成员函数名(参数表){//函数体}3.1.3成员函数的定义例如上面的例子改为显式声明可变成如下形式:classCoord{public:voidsetCoord(int,int);intgetx();intgety();private:intx,y;};inlinevoidCoord::setCoord(inta,in12、tb){x=a;y=b;}inlineintCoord::getx(){returnx;}inlineintCoord::
2、nsigneddeposit(unsignedamount)//成员函数{balance+=amount;returnbalance;}private:unsignedaccountNumber;//数据成员floatbalance;};C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构中默认情况下的成员是public的。3.1.2类的定义类声明的一般格式如下::class类名{public:公有数据成员;公有成员函数;protected:保护数据成员;保护成员函数;private:私有数据成员;私有成员
3、函数;};用一个类来描述日期,其形式如下:classDate{public:voidsetDate(inty,intm,intd);voidshowDate();private:intyear;intmonth;intday;};3.1.2类的定义成员函数的声明通常采用以下两种方式:(1)将成员函数以普通函数的形式进行说明,这种成员函数在类外定义的一般形式是:返回类型类名∷成员函数名(参数表){//函数体}3.1.3成员函数的定义例如,以下是表示坐标点的类Coord的声明。classCoord{public:voidsetCoord(int,int
4、);//设置坐标点intgetx();//取x坐标点intgety();//取y坐标点private:intx,y;};voidCoord∷setCoord(inta,intb){x=a;y=b;}intCoord::getx(){returnx;}intCoord::gety(){returny;}3.1.3成员函数的定义例3.2在类之后定义成员函数#include#include"tdate.h"voidTdate::Set(intm,intd,inty){month=m;day=d;year=y;}intTdate::
5、IsLeapYear(){return(year%4==0&&year%100!=0)
6、
7、(year%400==0);}voidTdate::Print(){cout<8、ty(){retruny;}private:intx,y;};3.1.3成员函数的定义例3.1成员函数和数据成员的定义#includeclassTdate{public:voidSet(intm,intd,inty){month=m;day=d;year=y;}intIsLeapYear(){return(year%4==0&&year%100!=0)9、10、(year%400==0);}voidPrint(){cout<11、tday;intyear;};main(){Tdatea;a.Set(8,8,2008);a.Print();system("pause");return0;}②显式声明这种成员函数在类外定义的一般形式是:inline返回类型类名::成员函数名(参数表){//函数体}3.1.3成员函数的定义例如上面的例子改为显式声明可变成如下形式:classCoord{public:voidsetCoord(int,int);intgetx();intgety();private:intx,y;};inlinevoidCoord::setCoord(inta,in12、tb){x=a;y=b;}inlineintCoord::getx(){returnx;}inlineintCoord::
8、ty(){retruny;}private:intx,y;};3.1.3成员函数的定义例3.1成员函数和数据成员的定义#includeclassTdate{public:voidSet(intm,intd,inty){month=m;day=d;year=y;}intIsLeapYear(){return(year%4==0&&year%100!=0)
9、
10、(year%400==0);}voidPrint(){cout<11、tday;intyear;};main(){Tdatea;a.Set(8,8,2008);a.Print();system("pause");return0;}②显式声明这种成员函数在类外定义的一般形式是:inline返回类型类名::成员函数名(参数表){//函数体}3.1.3成员函数的定义例如上面的例子改为显式声明可变成如下形式:classCoord{public:voidsetCoord(int,int);intgetx();intgety();private:intx,y;};inlinevoidCoord::setCoord(inta,in12、tb){x=a;y=b;}inlineintCoord::getx(){returnx;}inlineintCoord::
11、tday;intyear;};main(){Tdatea;a.Set(8,8,2008);a.Print();system("pause");return0;}②显式声明这种成员函数在类外定义的一般形式是:inline返回类型类名::成员函数名(参数表){//函数体}3.1.3成员函数的定义例如上面的例子改为显式声明可变成如下形式:classCoord{public:voidsetCoord(int,int);intgetx();intgety();private:intx,y;};inlinevoidCoord::setCoord(inta,in
12、tb){x=a;y=b;}inlineintCoord::getx(){returnx;}inlineintCoord::
此文档下载收益归作者所有