
C++学习笔记
文章平均质量分 73
基础知识与 C 差不多,不用细看
直接上 C++ 特有的基础知识,完成后进入 泛型设计模式
C++部分的学习比较掺杂,很多时候可能需要理解下内存的情况比较有助于理解(不理解也没关系)
多一门语言多一条路,开始学习吧
mrbone9
文章不定时更新,都是自己学习过程的记录
没有水文都是干货
换了工作比较事多,更新放缓
展开
-
第五章 模板与群体数据(3)
顺序访问的线性群体 -- 链表链表就不进行说明了,直接上模板单链表的结点模板template <class T>class Node {private: Node<T> *next;public: T data; // 理论放到 private Node(const T& item, Node<T> *next = 0); void insertAfter(Node<T> *p);原创 2022-05-09 22:39:15 · 660 阅读 · 0 评论 -
第五章 模板与群体数据(2)
群体的概念群体是由多个数据元素组成的集合体 分为 线性群体 和 非线性群体 两大类,如数组与链表 线形群体中的元素按位置排列有序,可以区分为第一个元素,第二个元素等 非线性群体不用位置顺序来标识元素直接访问的线性群体--数组类静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问 动态数组由一系列位置连续的,任意数量相同类型的元素组成 vector 就是用类模板实现的动态数组vector 容器封装任意类型的动态数组,自动创建和删除 数组下标越界检查 v.原创 2022-05-02 16:55:57 · 676 阅读 · 0 评论 -
第五章 模板与群体数据(1)
引入整数类型和浮点数类型求绝对值的算法,需要写两种重载函数吗?int abs(int x) { return x < 0 ? -x : x;}double abs(double x) { return x < 0 ? -x : x;}答案是不需要的函数模板就像制造业的模板一样,设定一个模板,大体的事情就被框定了针对函数来讲,既然干的事情都是一样的,那么这件事就被框定了,变化的部分就是模板外的修饰template <typenam原创 2022-05-02 14:36:09 · 476 阅读 · 0 评论 -
第四章 多态
我们在第三章是有一个预期调用通用函数实现各个派生类具体的调用的示例,但是没有实现,那个时候讲了是因为在编译阶段就已经静态绑定到基类的函数今天通过改造这个示例来实现我们的预期效果class Base1 {public: virtual void display() const; // 虚函数};void Base1::display() const { cout << "Base1::display()" << endl;}class Ba原创 2022-04-13 22:53:34 · 332 阅读 · 0 评论 -
第三章 类的继承
概念继承与派生是同一过程从不同的角度看保持已有类的特性而构造新类的过程成为继承 在已有类的基础上新增自己的特性而产生新类的过程称为派生被继承的已有类称为基类(父类)派生出的新类称为派生类(子类)直接参与派生出某类的基类称为直接基类基类的基类甚至更高的基类称为间接基类继承与派生的目的继承的目的:实现设计与代码的重用 派生的目的:当新问题出现原有程序无法解决(或不完全解决)时,需要对原有程序进行改造派生类的构成吸收基类成员派生类实际就包含它的全部基类.原创 2022-04-13 12:34:21 · 522 阅读 · 0 评论 -
第二章 数据的共享与保护
作用域函数原型作用域double area(double radius); // radius 的作用域仅在于此,不能用于程序正文其他地方局部作用域(块作用域)void fun(int a) { // a start int b = a; // b start if(b > 0) { int c; // c start ... } // c end...原创 2022-04-09 12:20:49 · 911 阅读 · 0 评论 -
第一章:类与对象
目录:抽象 对同一类对象的共同属性和腥味进行概括,形成先注意问题的本质,其次是实现过程或细节 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量) 代码抽象:描述某类对象的共同行为特征或具有的功能 抽象的实现:类封装类定义的语法形式类成员的访问控制公有类型成员私有类型成员保护类型成员类的成员函数内联成员函数目录目录:抽象封装类定义的语法形式类成员的访问控制...原创 2022-04-08 17:54:09 · 300 阅读 · 0 评论