自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anthony_tester的博客

公众号:AnthonyTestDevHouse,探索从QA角色到开发角色的转换之路(Q群574103281)

  • 博客(11)
  • 收藏
  • 关注

原创 C++模板-29-什么是模板和一个简单的例子

这篇开始进入模板的学习,接下来要学习模板,各种函数模板和类模板,然后学习几个标准的类,例如string类的,然后过度到学习各种容器。1.什么是模板模板就是建立通用模具,大大提高代码复用性。2.没有模板是什么样的例如,我们来做这个小练习,交换两个数的值,例如有两个int类型交换,两个float类型交换。由于前面的知识,代码大概是这样去写。#include <iostream>using namespace std;void SwapInt(int &..

2020-05-26 23:10:04 380

原创 C++面向对象-28-读写二进制文件

前面学习了对文本文件的读写操作,有了这个基础,我们来学习下,C++对二进制文件的读写操作。因为是二进制,所以不管是读还是写文件,其中打开方式要指定为iso::binary。1.写二进制文件二进制方式写文件主要利用流对象调用成员函数write()函数原型:ostream& write(const char * buffer, int len);参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数来看一个代码例子#include <iostream&.

2020-05-24 22:47:29 661

原创 C++面向对象-27-读写文本文件

前面学习了多态,现在我们开始学习一些C++的武器,也就是一些常用的类库。程序在运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放。通过文件可以将数据持久化,也就是把数据写入文件,叫序列化,程序读取文件,显示出各种数据。这个过程叫反序列化。这篇开始我们来学习下C++如何读写文件。1.文件分文本文件和二进制文件1)文本文件,文件以文本的ASCII码形式存储在计算机中2)二进制文件,文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们。(都是01这样的数据)2.C...

2020-05-24 21:31:46 1167

原创 C++面向对象-26-虚析构和纯虚析构

这篇来学习多态中可能会发生内存泄漏和解决办法,就要使用到虚析构函数和纯虚析构函数。先不介绍概念,肯定和前面学构造函数和析构函数中的析构函数有关系。先通过引出问题,然后介绍这两个概念和特点。1.多态基本代码在前面例子我们可写出一下代码,也没有什么问题#include <iostream>#include <string>using namespace std;class Animal{public: virtual void speak() = .

2020-05-18 23:28:09 1143 2

原创 C++面向对象-25-纯虚函数和抽象类

前面学习了多态底层原理和多态练习,这篇学习什么是纯虚函数和抽象类。虚函数前面我们介绍过,一个普通的类成员函数前面添加关键字virtual就变成一个虚函数。会有虚函数指针指向虚函数列表的概念,这里纯虚函数肯定和虚函数是有关系的。1.虚函数的定义语法是 virtual 返回值类型 函数名称() = 0;例如,下面这个代码class Base{public: virtual void myFunc() = 0;};一般来说,在使用多态机制的时候,基类中的虚函数里面..

2020-05-18 21:30:51 609

原创 C++面向对象-24-非多态vs多态实现计算器

现在基本上知道了什么是多态,接着我们来一个例子使用多态和不使用多态来实现一个小功能的对比。感受下使用多态带来的便利。1.非多态方式实现计算器这里计算器我们就简单描述成两个数的相加,相减和相乘。#include <iostream>#include <string>using namespace std;class Calculator{public: int m_Num1; int m_Num2; int getResult.

2020-05-17 20:22:23 581

原创 C++面向对象-23-多态原理剖析

前面一篇学习了多态,有静态多态和动态多态之分。动态绑定是第一需要继承关系,第二是子类需要重写父类的函数。什么是重写,从函数返回值,函数名称和参数列表一模一样才叫函数重写。本篇就借助vs 开发工具来捋一捋多态的底层原理。1.两个单词概念在前面多继承的时候,我们也介绍了虚继承,其中使用了virtual,当时有vbptr虚基类指针和vbtable虚基类表,其中作用是vbptr指向了vbtable。这次多态底层原理学习也需要理解类似的两个概念。虚函数指针 vfptr,vritual functio.

2020-05-17 19:19:12 280

原创 C++面向对象-22-多态基本语法

前面内容学习了继承,在面向对象三大核心概念,我们学习完了封装,继承,剩下一个多态。这篇开始学习多态的基本概念和C++中多态基本使用。1. 多态分两类静态多态:函数重载和运行符重载属于静态多态,服用函数名动态多态:派生类和虚函数实现运行时多态这块的知识点和Java中思想是一样的。例如Java中经常遇到的面试题,你能说一下Java中的多态吗。一般来说标准答案是这样的: 多态是面向对象三大核心,多态就是有多种形态,分两种情况。1)在单个类中,多态的表现为函数的重载,就是共用一个函数名,...

2020-05-17 15:24:09 324

原创 C++面向对象-21-多继承语法和菱形继承问题

本篇来学习下C++中的多继承,一般来说多继承不建议使用,因为会很容易带来问题。项目中使用的话,需要注意。1.多继承的语法C++中支持多继承,例如有两个父类Base1和Base2,一个子类Sun, 现在子类要同时继承两个父类,语法格式如下多继承语法格式:class 子类 : 继承方式 父类1, 继承方式 父类2#include <iostream>using namespace std;class Base1{public: int m_A = 100;.

2020-05-17 10:26:31 386

原创 C++面向对象-20-继承中同名静态成员的访问方式

上一篇中介绍了C++中继承中,如果子类和父类出现同名的非静态成员属性和方法的访问方式。如果要访问子类的非静态成员和方法,直接使用子类对象通过点就可以访问;如果想要访问父类的成员属性和方法,就需要使用子类对象点后面跟着父类的作用域才能访问。这篇来看看同名的static成员和方法如何访问,其实方法方式和前面的非静态方式一样。1.静态成员变量的特点1)所有对象共享一个变量2)编译阶段就分配内存3)类内声明,类外初始化2.静态成员属性访问方式代码和前面一篇差不多,就是...

2020-05-16 20:22:17 459

原创 C++面向对象-19-继承中同名成员的访问方式

在继承中,如果出现子类和父类有相同的成员变量或者成员函数,那么在子类创建对象后,是如何进行访问的呢,本篇来学习下这个知识点。1.子类和父类有相同名称的成员变量#include <iostream>using namespace std;class Base {public: int m_A = 100;};class A : public Base {public: int m_A = 200;};void test01() { .

2020-05-15 23:10:37 800

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除