当前位置: 首页 > news >正文

东营本地网站有哪些自己可以建网站吗

东营本地网站有哪些,自己可以建网站吗,2018主流网站建设语言,专业做包装的电商网站组合介绍以及与继承对比 什么是组合 (1)composition#xff0c;组合#xff0c;就是在一个class内使用其他多个class的对象作为成员 (2)用class tree做案例讲解 (3)组合也是一种代码复用方法#xff0c;本质也是结构体包含 #include iostream #include vector…组合介绍以及与继承对比 什么是组合 (1)composition组合就是在一个class内使用其他多个class的对象作为成员 (2)用class tree做案例讲解 (3)组合也是一种代码复用方法本质也是结构体包含 #include iostream #include vector #include string// Leaf 类 class Leaf { public:Leaf(const std::string color) : color_(color) {std::cout Leaf constructor called: color_ std::endl;}~Leaf() {std::cout Leaf destructor called: color_ std::endl;}void display() const {std::cout Leaf color: color_ std::endl;}private:std::string color_; };// Branch 类 class Branch { public:Branch(int length) : length_(length) {std::cout Branch constructor called: length_ cm std::endl;}~Branch() {std::cout Branch destructor called: length_ cm std::endl;}void display() const {std::cout Branch length: length_ cm std::endl;}private:int length_; };// Tree 类包含 Leaf 和 Branch 对象 class Tree { public:Tree(const std::string leafColor, int branchLength) : leaf_(leafColor), branch_(branchLength) {std::cout Tree constructor called std::endl;}~Tree() {std::cout Tree destructor called std::endl;}void display() const {leaf_.display();branch_.display();}private:Leaf leaf_;Branch branch_; };int main() {Tree tree(Green, 150);tree.display();return 0; } 继承与组合的特点对比 (1)继承是a kind ofis a关系具有传递性,不具有对称性。 (2)组合是a part ofhas a的关系 (3)继承是白盒复用。因为类继承允许我们根据自己的实现来覆盖重写父类的实现细节父类的实现对于子类是可见的。 (4)继承的白盒复用特点一定程度上破坏了类的封装特性因为这会将父类的实现细节暴露给子类 (5)组合属于黑盒复用。被包含对象的内部细节对外是不可见的所以它的封装性相对较好实现上相互依赖比较小 (6)组合中被包含类会随着包含类创建而创建消亡而消亡。组合属于黑盒复用并且可以通过获取其它具有相同类型的对象引用或指针在运行期间动态的定义组合。而缺点就是致使系统中的对象过多。 (7)OO设计原则是优先组合而后继承 多继承及其二义性问题 多继承 (1)多继承就是一个子类有多个父类 (2)多继承演示 (3)多继承和单继承的原理效果并无明显区别 (4)多继承会导致二义性问题 多继承的二义性问题1 (1)场景C多继承自A和B则C中调用A和B的同名成员时会有二义性 (2)原因C从A和B各自继承了一个同名不同namespace域成员所以用C的对象来调用时编译器无法确定我们想调用的是哪一个 (3)解决办法1避免出现让A和B的public成员命名不要重复冲突。但这个有时不可控。 (4)解决办法2编码时明确指定要调用哪一个用c.A::func()明确指定调用的是class A的func而不是class B的 (5)解决办法3在C中重定义func则调用时会调用C中的funcA和B中的都被隐藏了 (6)总结能解决但是都没有很好的解决。 多继承的二义性问题2 (1)场景菱形继承问题。即A为祖类B1:A, B2:A, C:B1,B2此时用C的对象调用A中的某个方法时会有二义性 (2)分析c.func()有二义性c.A::func()也有二义性但是c.B1::func()和c.B2::func()却没有二义性 (3)解决办法和问题1中的一样但是问题2更隐蔽也更难以避免 // 祖类 class Aa {public:void show() { std::cout As method std::endl; } };// 派生类 B1 和 B2从 A 继承 class B1 : public Aa {public:void show() { std::cout B1s show std::endl; }void showB1() { std::cout B1s method std::endl; } };class B2 : public Aa {public:void show() { std::cout B2s show std::endl; }void showB2() { std::cout B2s method std::endl; } };// 派生类 C从 B1 和 B2 继承 class C : public B1, public B2 {public:void showC() { std::cout Cs method std::endl; } };int test070103() {C c;// c.Aa::show(); // 调用 A 的方法 不可以c.Aa::B1::show(); // 调用 A 的方法 不可以c.B2::Aa::show(); // 调用 A 的方法 不可以c.B1::show(); // 调用 B1 的方法c.B2::show(); // 调用 B2 的方法c.showB1(); // 调用 B1 的方法c.showB2(); // 调用 B2 的方法c.showC(); // 调用 C 的方法return 0; }虚继承解决菱形继承的二义性问题 虚继承怎么用 (1)场景菱形继承导致二义性问题本质上是在孙子类C中有B1和B2中包含的2份A对象所以有了二义性。 (2)虚继承解决方案让B1和B2虚继承AC再正常多继承B1和B2即可 (3)虚继承就这么简单就是为了解决菱形继承的二义性问题而生和虚函数为了实现多态特性并没有直接关系 虚继承的实现原理 (1)虚继承的原理是虚基类表指针vbptr和虚基类表virtual table (2)参考https://blog.csdn.net/xiejingfa/article/details/48028491 总结 理解什么是组合一个class类里面有很多其他class类类型的成员变量 理解组合和继承的区别 二义性执行了一个函数确不一定是自己想指定的那个 解决方案用c.A::func()明确的指定调用的是class 虚继承有点像条件编译引入一次就好不用重复引入也能达到引入效果 学习记录侵权联系删除。 来源朱老师物联网大课堂
http://www.pierceye.com/news/204474/

相关文章:

  • 珠海好的网站制作平台微信音乐音频怎么关闭
  • asp.net 网站计数器响应式设计
  • 2017做那些网站致富小程序商城哪个平台好
  • 织梦制作网站如何上线做网站 当站长
  • 如何知道一个网站是用什么做的树莓派搭建wordpress
  • 怎么制作网站登录电子商务网上购物网站建设规划
  • 大连外贸网站制作做文案公众号策划兼职网站
  • 400网站建设推广通王网站内容管理系统
  • 上海专业网站制作开发wordpress 一级目录下
  • 要查询一个网站在什么公司做的推广怎么查济南集团网站建设报价
  • 手机静态网站建设课程设计报告形象型网站
  • 网站建设接单渠道百度网站内容
  • 企业网站pv是什么手机网站开发价格
  • 北京网站优化团队oppo开放平台
  • 购物商城外贸网站福州营销型网站建设公司
  • 白酒pc网站建设方案网站不符合个人备案性质
  • 做视频网站程序多少钱免费人体做爰网站
  • 做海外网站 服务器放哪网页设计师通常是设计两套ui吗
  • 海拉尔网站建设做html网站模板下载
  • 为什么网站找不到了东莞智通人才市场招聘官网
  • 如何注册网站名称中国煤炭建设协网站
  • 一个网站为什么做的不好看软件源码成品资源下载网站
  • 网站建设 环讯传媒建设网站要多久到账
  • 溧阳城乡建设厅网站惠州专业网站建设
  • app嵌入手机网站dw旅游网站怎么做
  • wpf做网站烟台做网站工资
  • 做网站公司名字网站建设方案对比分析报告
  • 网站360优化网站开发所需技术
  • 宁河做网站公司wordpress漏洞扫描工具
  • 单位网站建设的目的手机可以做网站服务器吗