目录
概述
组合 (Composition) 指在一个类中另一类的对象作为数据成员.
案例
在平面上两点连成一条直线, 求直线的长度和直线中点的坐标.
要求:
- 基类: Dot
- 派生类: Line (同时组合)
- 派生类 Line 从基类 Dot 继承的 Dot 数据, 存放直线的中点坐标
- Line 类再增加两个 Dot 对象, 分别存放两个端点的坐标
Dot 类:
#ifndef PROJECT5_DOT_H
#define PROJECT5_DOT_H
#include <iostream>
using namespace std;
class Dot {
public:
double x, y;
Dot(double a, double b) : x(a), y(b) {};
void show() {
cout << "x: " << x << endl;
cout << "y: " << y << endl;
};
};
#endif //PROJECT5_DOT_H
Line 类:
#ifndef PROJECT5_LINE_H
#define PROJECT5_LINE_H
#include "Dot.h"
class Line : public Dot {
private:
Dot d1;
Dot d2;
public:
Line(const Dot &d1, const Dot &d2) : Dot(0, 0), d1(d1), d2(d2) {
x = (d1.x + d2.x) / 2;
y = (d1.y + d2.y) / 2;
}
void show(){
Dot::show();
cout << "dot1: (" << d1.x << ", " << d1.y << ")" << endl;
cout << "dot2: (" << d2.x << ", " << d2.y << ")" << endl;
}
};
#endif //PROJECT5_LINE_H
main:
#include <iostream>
#include "Dot.h"
#include "Line.h"
using namespace std;
int main() {
double a, b;
cout << "Input Dot1: \n";
cin >> a >> b;
Dot dot1(a,b);
cout << "Input Dot2: \n";
cin >> a >> b ;
Dot dot2(a,b);
Line l1(dot1, dot2);
l1.show();
return 0;
}
输出结果:
Input Dot1:
1 2
Input Dot2:
4, 6
x: 2.5
y: 1
dot1: (1, 2)
dot2: (4, 0)
总结
- 类的组合和继承都是重用的重要方式, 可以有效地利用已有类的资源
- 继承是纵向的, 组合是横向的. 通过继承, 我们从基类得到了数据成员. 通过组合, 从别的类得到了成员, 有效地组织和利用现有的类, 减少工作量
- 如果类 A 和类 B 毫不相关, 不可以为了使 B 的功能更多些而让 B 继承 A 的功能
- 如果类 B 有必要使用类 A 的功能. 当 B 是 A 的一种的时候我们使用继承, 当 B 是 A 的一部分时, 我们使用组合
相关推荐:
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
SEO排序:如何让你的网页在搜索引擎中脱颖而出,平谷抖音seo推广招聘
SEO深度解析:如何通过深度优化提升网站排名,带来流量和转化,咸宁网站建设大概费用
SEO如何做?全方位解析提升网站排名的秘诀,AI翻译好处
AI一键生成原创文章,让创作更高效更轻松!
SEO场景下的数字营销:如何通过精准优化提升网站流量,陕西融发建设集团网站
SEO特点与实施策略:提升网站流量与排名的关键,定西抖音seo价格查询
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
AI免费文章解读:智能写作新篇章,小店AI
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
怎么让AI写文章,轻松实现内容创作的智能化
SEO优化如何为网站做好关键词研究和优化,ai直通
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
SEO注意事项:助力网站流量提升的关键策略,济宁快速seo优化价格
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
人工润色:让文字更具魅力的秘密武器,快排seo软件哪个最好
优化型网站:提升企业竞争力的必备利器,重庆网站推广工作如何
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
ChatGPT破解:人工智能未来的无限可能,污污AI解说
文章续写AI:提升写作效率,创意无限
《*采集站:带你领略全球最全*资源的宝藏平台》,seo优化易下拉瞧瞧
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
重生成AI:突破科技前沿,开启智能未来
SEO运营是什么职业,seo运营工程师招聘 ,把ai图层改横幅
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
SEO地址优化的秘诀:提升网站排名与流量的关键,临沂如何优化网站关键词
seo都有什么意思,seo 啥意思 ,ai园林
内容创作新时代:自动生成文章的AI如何改变写作生态
seo经验是什么,seo进阶 ,ai矿机
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
SEO字:如何通过精准关键词提升网站流量与排名,赣州于都网站推广
京东业绩再创新高:未来电商巨头的成功之道,如何做seo优化留痕
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
软件AI的全称:人工智能驱动未来的关键力量
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
怎么使用AI生成文章,轻松提升写作效率!
SEO有话:如何用精准优化助力企业在线增长,食品微信营销推广
SEO通过-如何通过SEO优化让你的业务在搜索引擎中脱颖而出,保定网站建设推广专家
SEO要素:优化网站排名的关键因素全解析,棒球大联盟营销推广文案
AI免费生成文本,内容创作新篇章
目前AI软件有哪些?智能新时代的必备工具
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
未来科技:AI工具为生活赋能,打造智能未来
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
seo项目是什么,seo是啥 ,ai ued