资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、定义类1、声明类n义一个类的一般格式为:义一个类的一般格式为: class 类名类名 private: 私有数据成员和成员函数私有数据成员和成员函数 protected: 保护的数据成员和成员函数保护的数据成员和成员函数 public: 公有数据成员和成员函数公有数据成员和成员函数 ; / 成员函数体的具体定义成员函数体的具体定义class Point private : int x, y; public: void Setxy(int a, int b); void Move(int a, int b ); void Display( ); int Getx( ); int Gety( );;n注意:注意:类要先声明后使用类要先声明后使用类的名字不能相同类的名字不能相同关键字关键字private、protected、以及以及public所有成员如果没有关键字说明,则其访问权限默认所有成员如果没有关键字说明,则其访问权限默认为为private 2、定义成员函数n 返回类型返回类型 类名类名:成员函数名(参数列表)成员函数名(参数列表) 成员函数的函数体成员函数的函数体 其中,其中, “:”是作用域运算符是作用域运算符n void Point :Setxy(int a, int b) x=a; y=b; void Point :Move(int a, int b) x=x+a; y=y+b; void Point :Display()coutxtyendl;int Point:Getx() return x;int Point:Gety()return y;练习 定义一个日期类n属性:年 月 日n操作:设置日期(年、月、日) 判断是否为闰年 (能被4整除但不能被100整除,或 者能被400整除),如果是输出“*是闰年”,否则输出“*不是闰年” 显示日期(月:年:日) int Date:getleap() if ( year%4 =0 & year%100 !=0 ) | (year %400 = =0) coutyear“is leap year”endl; else coutyear“is not leap year”endl; void Date:print() coutmonth“:”day“:year endl;举例:定义一个日期类举例:定义一个日期类class Date private : int day, month, year; public: void set(int y, int m, int d); int getleap( ); void print( );;void Date:set(int y,int m,int d) day=d; month=m; year=y;成员函数函数体可以定义在类体内class Point private : int x, y; public: void Setxy(int a, int b) x=a; y=b; void Move(int a, int b ) x= x+ a; y=y + b; void Display( ) coutxtyendl; int Getx( ) return x; int Gety( ) return y;;class Point private : int x, y; public: void Setxy(int a, int b); void Move(int a, int b ); void Display( ); int Getx( ); int Gety( );;void Point :Setxy(int a, int b) x=a; y=b; void Point :Move(int a, int b) x=x+a; y=y+b; void Point :Display()coutxtyendl;int Point:Getx( ) return x;int Point:Gety( ) return y; 二、声明和使用类的对象二、声明和使用类的对象n定义了定义了“类类”类型后,可以用它来声明类型后,可以用它来声明对象。对象。n只有产生类的对象,才能使用这些数据只有产生类的对象,才能使用这些数据和成员函数。和成员函数。void main( ) Point A, B; A.Setxy(25,55); A.Display( );coutA.Getx( )Display( ); R.Display( );nPoint不仅可以声明对象,还可不仅可以声明对象,还可以声明对象的引用和对象的指针以声明对象的引用和对象的指针练习:读程序写出运行成果class Point private : int x, y; public: void Setxy(int a, int b) x=a; y=b; void Move(int a, int b ) x=x+a; y=y+b; void Display( ) coutx“,”yDisplay();void print (Point &a)a.Display();void main() Point A, B,*p; Point &RA=A; A.Setxy(25,55); B=A; p=&B; P-Setxy(112,115); print(p); P-Display(); RA.Move(-80,23); Print(A); Print(&A);练习:怎样定义一个三角形类 定义一个三角形类,其数据成员包括三定义一个三角形类,其数据成员包括三角形的三条边长和三角形的面积,其成员角形的三条边长和三角形的面积,其成员函数函数Set可以设置三角形的三边长度;成可以设置三角形的三边长度;成员函数员函数Getarea可以得到三角形的面积;可以得到三角形的面积;成员函数成员函数Print可以输出三条边的长度以可以输出三条边的长度以及三角形的面积。及三角形的面积。class Trial private: float x,y,z; float area; public: void Set(float a, float b, float c); void Getarea( ); void Print(void);void Trial:Set(float a, float b, float c) x=a; y=b; c=z; void Trial:Getarea( ) float t; if (a+bc&b+ca&a+cb) x=a; y=b; z=c; t=(a+b+c)/2; area=sqrt(t*(t-a)*(t-b)*(t-c); else x=y=z=area=0; void Trial:Print( ) cout三角形三边长为三角形三边长为:xtytzendl; cout三角形面积为三角形面积为:areaendl; void main ( ) Trial tr1; tr1.set(3, 4, 5); tr1.Getarea( ); tr1.Print( );头文件:头文件:#include#include using namespace std;小结:n面向对象程序设计的核心是类和对象;n对象是现实实体的反映;nC+通过类实现数据封装,即通过指定个成员的访问权限来实现。 一般将数据成员说明为私有的,以便数据隐藏;而将部分成员函数说明为公有的,用于提供外界的接口。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号