随笔分类 -  c++

虚析构和纯虚析构
摘要:虚析构的诞生原因:当父类指针指向子类的时候,如果父类不写成虚析构,子类的析构函数调不了,在堆区开辟的内存无法释放。 如下代码红色部分不是虚析构。 1 class Animal 2 { 3 public: 4 Animal() { 5 cout << "Animal的构造函数的调用" << endl; 阅读全文

posted @ 2021-01-27 14:49 Love&Share 阅读(104) 评论(0) 推荐(0) 编辑

多态应用实例--制作饮品
摘要:1 #include<iostream> 2 using namespace std; 3 4 class AbstractDrinking 5 { 6 public: // 注意这里不写的话默认是private的 7 // 纯虚函数 8 // 这个类叫抽象类,无法实例化对象,子类必须重写父类中的函 阅读全文

posted @ 2021-01-25 21:18 Love&Share 阅读(72) 评论(0) 推荐(0) 编辑

纯虚函数和抽象类
摘要:纯虚函数和抽象类 多态中,通常父类的虚函数是毫无意义的,主要都是调用子类重写的内容。因此可以将虚函数改为纯虚函数 纯虚函数的语法:virtual 返回值类型 函数名 (参数列表)= 0;当类中有了纯虚函数,这个类也称为抽象类。抽象类的特点:1)无法实例化对象,无论是在堆区还是栈区。2)子类必须重写抽 阅读全文

posted @ 2021-01-25 21:03 Love&Share 阅读(84) 评论(0) 推荐(0) 编辑

封装继承和多态
摘要:一 封装万事万物皆对象。封装的意义:将属性和行为作为一个整体。可以把属性和行为放在不同的权限下进行管理。public 类内,类外均可访问protected 类内可以,类外不可以private 类内可以,类外不可以保护和私有的区别在于继承的时候儿子可以使用父亲的保护内容。 成员属性设置为私有优点1)可 阅读全文

posted @ 2021-01-24 17:57 Love&Share 阅读(99) 评论(0) 推荐(0) 编辑

STI容器分类
摘要:1)sequence Containers 序列式的容器Arrary(c++11标准)固定的内存大小,不能扩充,前闭后闭。a)Vectro:可扩充,分配器能自动来帮Vector自动扩充,我们无需操心,前闭后开。Deque:双向的队列,两端可进可出,前开后开。b)List:双向链表(标准库提供的)Fo 阅读全文

posted @ 2021-01-18 20:56 Love&Share 阅读(69) 评论(0) 推荐(0) 编辑

STL六大部件的介绍
摘要:一 STL六大部件容器(Containers)分配器(Allocators)算法(Alogrithms)迭代器(Iterators)仿函数(Functors),头文件为<functional>适配器(转换器)(Adapters) 二 六大部件之间的关系 三 实例: 注意适配器不需要再加特定的头文件, 阅读全文

posted @ 2021-01-17 20:47 Love&Share 阅读(267) 评论(0) 推荐(0) 编辑

STL导读
摘要:标准库是编译器自带的c++标准库(百分之70是标准模板库),以头文件的方式呈现。c++标准模板库(6大部件)头文件形式:c++标准库的头文件不带.h 如#include<vector>新式的c头文件不带.h 如#include<cstdio>旧式的要带.h 如#include<stdio.h> 命名 阅读全文

posted @ 2021-01-17 13:23 Love&Share 阅读(43) 评论(0) 推荐(0) 编辑

new运算符
摘要:new运算符:用new在堆区开辟内存,堆区开辟的数据,由程序员手动管理释放,释放利用delete语法:new 数据类型利用new创建的数据,会返回该数据对应的类型的指针。int * func(){ int *p = new int(10); double *p1 = new double(20.0) 阅读全文

posted @ 2021-01-13 23:30 Love&Share 阅读(215) 评论(0) 推荐(0) 编辑

引用
摘要:引用作用:给变量起个别名。(访问的内存一样)语法:数据类型 &别名 = 原名。 引用的注意事项:1--引用必须初始化。2--引用在初始化后就不能改变了。 引用作函数参数:在函数传参的时候,可以利用引用的技术让形参修饰实参,可以简化指针修改。 引用作函数的返回值: 1--不要返回局部变量的引用。(局部 阅读全文

posted @ 2021-01-12 20:16 Love&Share 阅读(147) 评论(0) 推荐(0) 编辑

类模板派生出新的类模板
摘要:#include<iostream>using namespace std;template<class T>class Animal{public: Animal(){ cout << mAge << "岁的动物在叫" << endl; }public: T mAge;};class Cat :p 阅读全文

posted @ 2021-01-05 20:47 Love&Share 阅读(56) 评论(0) 推荐(0) 编辑

模板函数编译原理
摘要:一 导读 首先我们需要搞清楚这样一个实际生活中的例子,当工厂里面要生产一把刀,需要将滚烫的铁水倒入到模具里面,然后再经过锤炼就得到一把锋利的刀。函数模板和模板函数正是这样的一组关系,函数模板相当于做刀的模具,而模板函数就是我们得到的刀。 二 在linux中进行实际操作 首先我们先写一个hello.c 阅读全文

posted @ 2021-01-03 17:05 Love&Share 阅读(564) 评论(0) 推荐(0) 编辑

C++编译过程概述
摘要:一 导读 想象成工厂要产出一个产品的过程,经过流水线上一步一步,不同的人的操作,然后经过整合,就得到了一个完整可用的产品。 二 编译过程图解 三 在linux中编程详解编译过程 1)当我们在linux中用 g++ -E index.cpp -o index .i命令来预编译得到如下结果 可以看到经过 阅读全文

posted @ 2021-01-02 13:22 Love&Share 阅读(97) 评论(0) 推荐(0) 编辑

c++ 函数模板
摘要:一 函数模板存在的意义 我们先观察一下如下两个代码 void MySwap(int& a, int& b){ // 两整数的交换,选用地址传递的方式 int temp = a; b = temp; a = b;} void MySwap(double& a, double& b){ // 两个dou 阅读全文

posted @ 2020-12-31 17:28 Love&Share 阅读(235) 评论(0) 推荐(1) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示