欢迎来到天天文库
浏览记录
ID:51998803
大小:321.81 KB
页数:11页
时间:2020-03-27
《类的定义及对象的使用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、定义类1、声明类义一个类的一般格式为:class类名{private:私有数据成员和成员函数protected:保护的数据成员和成员函数public:公有数据成员和成员函数};//…成员函数体的具体定义classPoint{private:intx,y;public:voidSetxy(inta,intb);voidMove(inta,intb);voidDisplay();intGetx();intGety();};注意:类要先声明后使用类的名字不能相同关键字private、protected、以及public所有成员如
2、果没有关键字说明,则其访问权限默认为private2、定义成员函数返回类型类名::成员函数名(参数列表){成员函数的函数体}其中,“::”是作用域运算符voidPoint::Setxy(inta,intb){x=a;y=b;}voidPoint::Move(inta,intb){x=x+a;y=y+b;}voidPoint::Display(){cout<3、作:设置日期(年、月、日)判断是否为闰年(能被4整除但不能被100整除,或者能被400整除),如果是输出“*是闰年”,否则输出“*不是闰年”显示日期(月:年:日)intDate::getleap(){if((year%4==0&&year%100!=0)4、5、(year%400==0))cout<6、ndl;}举例:定义一个日期类classDate{private:intday,month,year;public:voidset(inty,intm,intd);intgetleap();voidprint();};voidDate::set(inty,intm,intd){day=d;month=m;year=y;}成员函数函数体可以定义在类体内classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y7、=y+b;}voidDisplay(){cout<8、y+b;}voidPoint::Display(){cout<9、=B;A.Setxy(25,88);B.Setxy(66,24);P->Display();R.Display();}Point不仅可以声明对象,还可以声明对象的引用和对象的指针练习:读程序写出运行成果classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y=y+b;}voidDisplay(){cout<10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
3、作:设置日期(年、月、日)判断是否为闰年(能被4整除但不能被100整除,或者能被400整除),如果是输出“*是闰年”,否则输出“*不是闰年”显示日期(月:年:日)intDate::getleap(){if((year%4==0&&year%100!=0)
4、
5、(year%400==0))cout<6、ndl;}举例:定义一个日期类classDate{private:intday,month,year;public:voidset(inty,intm,intd);intgetleap();voidprint();};voidDate::set(inty,intm,intd){day=d;month=m;year=y;}成员函数函数体可以定义在类体内classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y7、=y+b;}voidDisplay(){cout<8、y+b;}voidPoint::Display(){cout<9、=B;A.Setxy(25,88);B.Setxy(66,24);P->Display();R.Display();}Point不仅可以声明对象,还可以声明对象的引用和对象的指针练习:读程序写出运行成果classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y=y+b;}voidDisplay(){cout<10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
6、ndl;}举例:定义一个日期类classDate{private:intday,month,year;public:voidset(inty,intm,intd);intgetleap();voidprint();};voidDate::set(inty,intm,intd){day=d;month=m;year=y;}成员函数函数体可以定义在类体内classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y
7、=y+b;}voidDisplay(){cout<8、y+b;}voidPoint::Display(){cout<9、=B;A.Setxy(25,88);B.Setxy(66,24);P->Display();R.Display();}Point不仅可以声明对象,还可以声明对象的引用和对象的指针练习:读程序写出运行成果classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y=y+b;}voidDisplay(){cout<10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
8、y+b;}voidPoint::Display(){cout<9、=B;A.Setxy(25,88);B.Setxy(66,24);P->Display();R.Display();}Point不仅可以声明对象,还可以声明对象的引用和对象的指针练习:读程序写出运行成果classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y=y+b;}voidDisplay(){cout<10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
9、=B;A.Setxy(25,88);B.Setxy(66,24);P->Display();R.Display();}Point不仅可以声明对象,还可以声明对象的引用和对象的指针练习:读程序写出运行成果classPoint{private:intx,y;public:voidSetxy(inta,intb){x=a;y=b;}voidMove(inta,intb){x=x+a;y=y+b;}voidDisplay(){cout<10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
10、urny;}};voidprint(Point*a){a->Display();}voidprint(Point&a){a.Display();}voidmain(){PointA,B,*p;Point&RA=A;A.Setxy(25,55);B=A;p=&B;P->Setx
此文档下载收益归作者所有