十四.对象关系模型的实现.doc

十四.对象关系模型的实现.doc

ID:55505979

大小:183.50 KB

页数:15页

时间:2020-05-15

十四.对象关系模型的实现.doc_第1页
十四.对象关系模型的实现.doc_第2页
十四.对象关系模型的实现.doc_第3页
十四.对象关系模型的实现.doc_第4页
十四.对象关系模型的实现.doc_第5页
资源描述:

《十四.对象关系模型的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、十四.对象间关系模型的实现C++语言支持对象模型中的的包容与继承(派生)关系,但对关联关系没有专用的语法支持。⒈包容关系①不透明包容例:#includeclassA{inti;public:A(){i=0;}A(intx):i(x){}intoperator!(){returni;}};classB{intj;A*p;public:B(intx):j(x){p=newA[x];}intoperator!(){returnj;}voidoperator~(){for(inti=0;i

2、++)cout<classA{inti;A*next;public:A(intx,A*s=NULL):i(x),next(s){}A*GetNext(){returnnext;}voidSetNext(A*s){next=s;}intoperator!(){returni;}};classB{intj;A*p;public:B(int

3、x,A*s=NULL):j(x),p(s){}voidInsert(A*s){if(!p)p=s;else{A*temp=p;while(temp->GetNext())temp=temp->GetNext();temp->SetNext(s);}}intoperator!(){returnj;}voidoperator~(){A*temp=p;while(temp){15cout<GetNext();}}};voidmain(){Aa1(0),a2(1),a

4、3(2);Bb(10,&a1);b.Insert(&a2);b.Insert(&a3);!a1;~b;cin.get();}③类模板当被包容的类的类型不确定时,可以用类模板来声明包容关系。其声明格式为:templateclass体声明;类模板参数表内可以声明多个模板参数,但若其内部存在的模板参是另外一个亦被声明为类模板的类,则务使之自左向右排放。例1:templateclassA{Ti;public:A(Tx):i(x){}};例2:#includetemp

5、lateclassArray15{T*ar;public:Array(intc){ar=newT[c];}voidinit(intn,Tx){ar[n]=x;}T&operator[](intn){returnar[n];}};voidmain(){Arrayarray(5);cout<<"Pleaseinputeveryelement'svalue:"<>array[i];}}⒉继承

6、(派生)关系在C++语言中有专门的语句支持继承(派生)关系。其声明的语法格式为:public类名iclass类名1:{成员声明};private类名k例:classA{protected:inti;public:A(intx):i(x){}};classB:publicA15{intj;public:B(intx,inty):j(x),A(y){}};voidmain(){Bb(1,2);}使用继承时的一些规则:①基类成员被继承的可能性·public区的成员可以被部分或全部的继承;·protected区的成员在本

7、类对象中的功效与同类private区的成员相同且可以被部分或全部的继承;·private区的成员不可能被继承;②两种继承方式的作用派生类中以public方式继承派生类中以private方式继承publicpublicprivateprotectedprotectedprivateprivate--由于存在上述两种继承方式便可能导致派生类中彻底失去对其内部基类成员的存取权利:基类A↓以private方式继承派生类B↓以任何方式继承派生类C(失去对其基类A的成员的存取权利)15③派生类不继承基类的友元④派生类对象中基

8、类成员的初始化派生类对象在自身初始化时必须通过成员初始化表对其继承的基类对象进行初始化,且此种初始化要先于派生类对象本身的初始化。例:classA{protected:inti;public:A(intx):i(x){}};classB:publicA{intj;public:B(intx,inty):j(x),A(y){}};voidmain(){Bb(1,2);}⑤成

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

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

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