计算机等考 c++备考之如何学习c++与面向对象:继承和组合

计算机等考 c++备考之如何学习c++与面向对象:继承和组合

ID:6674087

大小:33.00 KB

页数:13页

时间:2018-01-22

计算机等考 c++备考之如何学习c++与面向对象:继承和组合_第1页
计算机等考 c++备考之如何学习c++与面向对象:继承和组合_第2页
计算机等考 c++备考之如何学习c++与面向对象:继承和组合_第3页
计算机等考 c++备考之如何学习c++与面向对象:继承和组合_第4页
计算机等考 c++备考之如何学习c++与面向对象:继承和组合_第5页
资源描述:

《计算机等考 c++备考之如何学习c++与面向对象:继承和组合》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算机等考C++备考之如何学习C++与面向对象:继承和组合等考C++备考之如何学习C++与面向对象:继承貌似我们没有人没有父亲的,对吧?既然这样,我们可以写个father类:classfather{charsecondname[10];}father类有姓(secondname)。父亲是爸爸,那我们是什么那?想想..儿子或者是女儿。我们可以这样写:classson:publicfather{charsex[10];}再复制粘贴一下:classdaughter:publicfather{charsex[10];}既然son和daughter都是来自father

2、的,那他们就应该有相同的基因,类的数据成员就好比是类的基因,所以son和daughter自然而然的继承了father的secondname属性。相对于father类,son和daughter是派生来的,可以叫做子类(派生类);father是父亲,所以叫做父类(基类)。classfather{charsecondname[10];father(charsn[]){strcpy(secondname,sn);}}classson:publicfather{charsex[10];son(charsn[],charmysex[]):father(sn){strcp

3、y(sex,mysex);}}classdaughter:publicfather{charsex[10];daughter:(charsn[],charmysex[]):father(sn){strcpy(sex,mysex);}}考试用书看见子类的构造函数怎么写的了吗?(拷贝构造函数你自己写吧,我累死了)同理,你还可以写出孙子类,嘻嘻..还有个问题,我们的mother哪?classmother{charfirstname[10];mother(charfn[]){strcpy(firstname,tn);}}现在问题有点复杂:classson:publi

4、cfather,publicmother{charsex[10];son(charsn[],charfn[],charmysex[]):father(sn),mother(fn){strcpy(sex,mysex);}}classdaughter:publicfather,publicmother{charsex[10];daughter:(charsn[],charfn[],charmysex[]):father(sn),mother(fn){strcpy(sex,mysex);}}写到这,有个问题:public,private和protected。我不想

5、说,因为写起来比较麻烦,而且一般我们都用public继承(private也行,反正我不用)。不过我要提醒大家的就是protected,想想在类里,protected对成员的限定是怎样的?继承过来的类原本的protected成员又是怎样的(protected?还是private)?好好想想,不会就看看书。等考C++备考之如何学习C++与面向对象:组合让我们复习一下person类:classperson{private:charbirthday[20];charsex[10];charname[20];public:person(){}person(person

6、&p){birthday=p.birthday;strcpy(sex,p.sex);}person(charb[],chars[]){birthday=b;sex=s;}voidset_name(charn[]){strcpy(name,n);//strcpy,没忘吧?复制char类型要用这个,不要写成"name=n;"!}char*get_name(){return*name;}voidspeak(){cout《"我在牙牙学语!"《endl;}voidspeak(chara[]){cout《"我在说:"《a《endl;}};这个类很别扭:charbirth

7、day[20];生日是时间,不是字符,我们可以写个时间类:classtime{intyear,month,day;time(inty,intm,intd){year=y;month=m;day=d;}}但是有什么用那?我也在想,后来,我这样声明personal类的成员:classperson{private:timebirthday;charsex[10];charname[20];public:..}这就是传说中的组合!我在教材上找了半天,竟然没找到,还说教材好,好个屁!连组合都没有!废话不说了,这里面的的time类的birthday就被称为内嵌对象!构造

8、函数要这样写:person(timeb,chars[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。