欢迎来到天天文库
浏览记录
ID:57695345
大小:43.50 KB
页数:13页
时间:2020-09-01
《c++继承经典例子.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#includeclassBase{private: intb_number;public: Base(){} Base(inti):b_number(i){} intget_number(){returnb_number;} voidprint(){cout<2、c://constructor,initializerusedtoinitializethebasepartofaDerivedobject. Derived(inti,intj):Base(i),d_number(j){}; //anewmemberfunctionthatoverridestheprint()functioninBase voidprint() { cout<3、 //accessnumberthroughget_number() cout<4、 //print()inDerived cout<<"basepartofbis"; b.Base::print(); //print()inBase return0;}没有虚析构函数,继承类没有析构//Example:non-virtualdestructorsfordynamicallyallocatedobjects.#include#includeclassThing{pub5、lic:virtualvoidwhat_Am_I(){cout<<"IamaThing.";}~Thing(){cout<<"Thingdestructor"<6、l*x=newAnimal; Thing*array[2]; array[0]=t; //basepointer array[1]=x; for(inti=0;i<2;i++)array->what_Am_I(); deletearray[0]; deletearray[1]; return;}纯虚函数,多态#include#includeclassPoint{7、private: doublex; doubley;public: Point(doublei,doublej):x(i),y(j){} voidprint()const {cout<<"("<8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
2、c://constructor,initializerusedtoinitializethebasepartofaDerivedobject. Derived(inti,intj):Base(i),d_number(j){}; //anewmemberfunctionthatoverridestheprint()functioninBase voidprint() { cout<3、 //accessnumberthroughget_number() cout<4、 //print()inDerived cout<<"basepartofbis"; b.Base::print(); //print()inBase return0;}没有虚析构函数,继承类没有析构//Example:non-virtualdestructorsfordynamicallyallocatedobjects.#include#includeclassThing{pub5、lic:virtualvoidwhat_Am_I(){cout<<"IamaThing.";}~Thing(){cout<<"Thingdestructor"<6、l*x=newAnimal; Thing*array[2]; array[0]=t; //basepointer array[1]=x; for(inti=0;i<2;i++)array->what_Am_I(); deletearray[0]; deletearray[1]; return;}纯虚函数,多态#include#includeclassPoint{7、private: doublex; doubley;public: Point(doublei,doublej):x(i),y(j){} voidprint()const {cout<<"("<8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
3、 //accessnumberthroughget_number() cout<4、 //print()inDerived cout<<"basepartofbis"; b.Base::print(); //print()inBase return0;}没有虚析构函数,继承类没有析构//Example:non-virtualdestructorsfordynamicallyallocatedobjects.#include#includeclassThing{pub5、lic:virtualvoidwhat_Am_I(){cout<<"IamaThing.";}~Thing(){cout<<"Thingdestructor"<6、l*x=newAnimal; Thing*array[2]; array[0]=t; //basepointer array[1]=x; for(inti=0;i<2;i++)array->what_Am_I(); deletearray[0]; deletearray[1]; return;}纯虚函数,多态#include#includeclassPoint{7、private: doublex; doubley;public: Point(doublei,doublej):x(i),y(j){} voidprint()const {cout<<"("<8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
4、 //print()inDerived cout<<"basepartofbis"; b.Base::print(); //print()inBase return0;}没有虚析构函数,继承类没有析构//Example:non-virtualdestructorsfordynamicallyallocatedobjects.#include#includeclassThing{pub
5、lic:virtualvoidwhat_Am_I(){cout<<"IamaThing.";}~Thing(){cout<<"Thingdestructor"<6、l*x=newAnimal; Thing*array[2]; array[0]=t; //basepointer array[1]=x; for(inti=0;i<2;i++)array->what_Am_I(); deletearray[0]; deletearray[1]; return;}纯虚函数,多态#include#includeclassPoint{7、private: doublex; doubley;public: Point(doublei,doublej):x(i),y(j){} voidprint()const {cout<<"("<8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
6、l*x=newAnimal; Thing*array[2]; array[0]=t; //basepointer array[1]=x; for(inti=0;i<2;i++)array->what_Am_I(); deletearray[0]; deletearray[1]; return;}纯虚函数,多态#include#includeclassPoint{
7、private: doublex; doubley;public: Point(doublei,doublej):x(i),y(j){} voidprint()const {cout<<"("<8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
8、Point&location(){returncenter;} //returnanlvalue voidmove(Pointp){center=p;draw();} virtualvoiddraw()=0;//drawthefigure virtualvoidrotate(double)=0;//rotatethefigurebyanangle
此文档下载收益归作者所有