欢迎光临散文网 会员登陆 & 注册

【C++】类之间的关系组合、委托和继承

2023-02-26 19:41 作者:叫我林林就行  | 我要投稿

1、类的组合Composition关系举例(一个类A包含另一个类B的对象),箭头是黑色实心

1.1、从内存的角度来看Composition关系

1.2、组合关系的类的构造和析构函数的关系(构造由内而外,析构由外而内)

构造函数有多个,编译器默认会调用 默认构造函数

2  委托,一个类A包含另一个类B的引用(指针),组合关系中A,B是同时存在,委托关系中,A存在,但是B的对象不一定存在,因为A中通过指针指向B,B可以不存在。

2.2 委托的主要目的,A负责提供接口,B负责具体的实现(注意这里B可以是A的友元类), A相当于客户端显示,B是底层具体的操作,B的变动不会影响客户端的显示;这样A只需要编译一次,B如果有改动则只编译B部分就可以了。

2.3 实现body共享,a,b,c都是String对象,他们中的指针同时指向 StringRep的一个对象,这个对象包含了一个字符,

3.1 继承 Inheritance

构造由内而外,析构由外而内; 


【C++】类之间的关系组合、委托和继承的评论 (共 条)

分享到微博请遵守国家法律