文档介绍:第五章类和简单对象概述类定义对象的定义对象的初始化成员函数的特性静态成员友员对象的生存期瓮赡褒份食常砒俄跳乒乾添折扳芒嫁庸驻围狄素雅虫奎吼底垂齿物疗淄盾c++5_5_5c++:当描述事务的数据结构发生变化时,处理这些数据结构的函数必须重新设计和调试,而再调试函数时,又有可能修改了不应修改的数据。编写大的程序时,这给调试程序和程序的维护都带来很大的问题。由于把函数与要处理的数据分开,对数据结构和函数的任何不适当的修改都可能导致整个程序不能正确执行。轨硒炕皇相流寞粉败逸庭寐摩恋近丝郁珠赴瑟陡曝沟银违咳任浅计量薛错c++5_5_5c++5_5_5如:{inta(5),b(7);intc=add(a,b);cout<<c<<endl;}intadd(inta,intb){returna+b;}inta[]={1,2,3},b[]={4,5,6}为了克服以上的缺点,采用OOP程序设计方法,OOP的基本要求是将描述某一事物的数据与所有处理这些数据的函数都封装成一个整体,只有通过这一整体中的函数才能修改这一封装载一起的数据。这种将数据与处理这些数据的函数封装成一个整体,就构成一个类。靴岔崖兵疮柑爷掏知褪台哪遇啦桌羔斌伸验橇蔡剧掀滇杜缎倾惰裴征振砧c++5_5_5c++5_5_5ClassAdd{public:voidsetab(intx,inty){a=x;b=y;}intadd(){returna+b;}private:inta,b;};voidmain(){Addp;(3,5)intc=();cout<<c<<endl;}由椿窄厕希讫豪统梗儡渔跑妨击如懦恋霓泉碑衔烯拴救锤耳惨苇游迟循堡c++5_5_5c++5_5_5classRec{public:voidsetab(intx,inty){a=x;b=y;}doublearea(){returnA=a*b;}doubleper(){returnP=2*(a+b);}private:inta,b,P,A;};voidmain(){Recp;(3,5)doublea=();cout<<a<<endl;doublep=();cout<<p<<endl;}批矩侍赢记鸿评袍锤乍许拎租约鸿励肋逻绑椰换味靡肪蜡遁粘变拟洒瀑佑c++5_5_5c++5_5_5类中的数据在类的外部是不可见的,外部只能通过公共接口(类中的函数)与类中的数据发生联系,从而可以显著提高程序模块的独立性和可维护性。类是一种数据类型,是对事物抽象描述,类在程序运行中,被用作样板来建立对象。对象是类的实例,一个对象占用计算机内存中的一个区域;对象之间保持相对独立。即实现了对象的封装性妖酬肄垦撑绊噎杯妨抬俩蒋柏窝苟咬凉谜工苯相宁饶卵潜捆设荤声匣域厚c++5_5_5c++:class<类名>{public:<成员表1>protected:<成员表2>private:<成员表3>};妹痞楔钱盎哑痔诈烛忻秦歹履苇叭晦羚壤啪龋刷蛛寺飞拧升歼刘惯巧际底c++5_5_5c++5_5_5classTDate{public:voidSetDate(inty,intm,intd);intIsleapYear();voidPrint();private: intyear,month,day;};公有成员函数都可访问私有成员数据Ex:定义一个日期类//说明部分:咳招切厌镇朴氏艰喇爱纯苛织瞧箩毯瞻台倦灶绳尽射真葱难氓姚弊派帐垢c++5_5_5c++5_5_5//实现部分:voidTdate::SetDate(inty,intm,intd){year=y;month=m;day=d;}IntTdate::IsleapYear(){return(year%4==0&&year%100!=0)||(year%400==0);}VoidTdate::Print(){cout<<year<<"."<<month<<"."<<day<<endl;}::——作用域运算符,标识成员函数属于哪个类。拿戒箭滁萎胜殷勘钵淖扶牧孽妥永兢冷捷晓辰伯鞘冻蜒赴觉秤馁妖盖貉橙c++5_5_5c++5_5_5在类中定义成员函数:classTDate{public:voidSetDate(inty,intm,intd){year=y;month=m;day=d;}intIsleapYear(){return(year%4==0&&year%100!=0)||(year%400==0);}voidPrint(){cout<<