美文网首页
勿在浮沙筑高台--P11面向对象

勿在浮沙筑高台--P11面向对象

作者: Catherin_gao | 来源:发表于2021-01-30 11:07 被阅读0次

面向对象的编程

  • 继承 Inheritance
  • 复合 Composition
  • 委托 Delegation

一. 复合 Composition 表示has-a

设计模式:Adapter

  • queue 包含deque
  • queue中所有功能deque都有实现
template<class T, class Sequence = deque<T> >
class queue{
  ...
protected:
   deque<T> c;   //底层容器
public:
  // 以下完全利用c的操作函数完成
  bool empty() const {return c.empty(); }
  size_type size() const {return c.size(); }
  reference front() {return c.front();}
  //deque是两端可进去
  reference back() {return c.back();}
  //
  void push(const value_type& x) { c.push_back(x); }
  void pop() { c.pop_front(); }
}

1.1 复合关系下的构造和析构

  • 构造由内而外
  • 析构由外而内

二. 委托 Delegation. Composition by reference

  • 有一个指针指向另一个类, 设计模式:Handle/Body(pImpl)
  • class String客户使用,可以把两个类的实现拆分
// file String.hpp

class StringRep;
class String{
public:
      String();
      String(const char* s);
      String(const String& s);
      String &operator=(const String& s);
      ~String();
....
private:
      StringRep* rep;  //pipml
};
file string.cpp
#include "String.hpp"
namespace{
class StringRep{
friend class String;
   StringRep(char* s);
   ~StringRep();
   int count;
   char* rep;
};
}

三. 继承 Inheritance,表示is-a

class _List_node_base
{

};
class _List_node
    :public _List_node_base
{
   __Tp _M_data;
};

相关文章

  • Boolan——C++面向对象高级编程(下)第一周

    勿在浮沙筑高台!!!!!!!!!!! C++(下)主要谈及对象模型;即泛型编程 effective modern ...

  • GeekBand C++ 第四周

    1.导读 勿在浮沙筑高台   本课程既有面向对象,也有泛型编程。是上门课程的续集,主要讲上门课程没有提到的东西。 ...

  • 勿在浮沙筑高台

    勿在浮沙筑高台。 读一本关于js的基础书时,蓦然想起这句话,身上冷汗直冒。第一次见到这句话,应该是四年前读《深入浅...

  • GeekBand C++ week3

    一、导论 1.I和II的区别 I:C++面向对象程序设计II: C++程序设计兼谈对象模型 勿在浮沙筑高台 2.C...

  • 最小生成树(概念)

    转自:勿在浮沙筑高台[http://blog.csdn.net/luoshixian099/article/det...

  • 根基

    切勿浮沙筑高台

  • 北大张志华推荐经典机器学习书

    勿在浮沙筑高台请仔细研读下列书籍 初阶课程 概率与统计 [1] Larry Wasserman. All of S...

  • 浮沙筑高台

    很快,我读到了第三句, I am convinced that ... ... ... 这句很长,为了避免需要肺活...

  • Docker基础学习笔记

    都是自己看视频学习资料总结的,欢迎大家浏览指正勿在浮沙筑高台 仓库 镜像 容器 面试造飞机,工作拧螺丝高手是练出来...

  • C++面向对象高级编程(下)-第一周-博览网

    第四周 勿在浮沙筑高台 C++11 类的合理转换函数,将类转为相应类型不用写返回值 pointer-like cl...

网友评论

      本文标题:勿在浮沙筑高台--P11面向对象

      本文链接:https://www.haomeiwen.com/subject/irbktltx.html