
C++基础知识
文章平均质量分 95
C++
墨上烟雨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 名称空间
C++ 名称空间一、名称空间的作用二、有关名称空间的专业术语三、名称空间的声明格式一、名称空间的作用解决名称冲突二、有关名称空间的专业术语声明区域:可在其中进行声明的区域。如:可在函数外面声明全局变量,其声明区域为其声明所在的文件;可在函数内部声明局部变量,其声明区域为其声明所在的代码块潜在区域:变量的潜在区域是从声明点开始,到其声明区域的结尾。因此潜在区域比声明区域的范围小...原创 2020-04-06 22:39:57 · 429 阅读 · 0 评论 -
C++ 异常
C++ 异常一、异常二、处理异常的方式1、abort()函数2、返回错误码3、异常机制4、将对象用作异常类型5、exception类三、RTTI一、异常异常类型程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:1)、语法错误在编译和链接阶段就能发现,只有 100% 符合语法规则的代码才能生成可执行程序。语法错误是最容易发现、最容易定位、最容易排除的错误,程序员最不需要担心...原创 2020-04-13 15:22:15 · 400 阅读 · 0 评论 -
C++ 类模板
C++ 类模板一、定义类模板1、类模板声明格式2、类模板定义对象的格式3、类模板定义模板成员函数的格式4、类模板、模板类与对象的关系二、类模板的派生1、从类模板派生出新的类模板2、从类模板派生非模板类三、类模板的多功能性1、递归使用模板2、模板可以包含多个类型参数3、模板可以有默认类型参数4、成员模板5、模板可用作参数四、模板具体化1、隐式实例化2、显式实例化3、显式具体化4、部分具体化一、定义...原创 2020-04-11 21:46:00 · 788 阅读 · 0 评论 -
C++ 虚析构函数
1、何时需要虚析构函数当一个类作为基类时,该类的析构函数应声明为虚析构函数2、虚析构函数的作用防止内存泄漏例如:若类A为基类,类B继承自类A,创建一个A类型的指针p指向派生类B,当delete p时程序只会调用基类A的析构函数,而不会调用派生类的析构函数,如果派生类当中有释放内存的操作时就不会被执行,从而造成内存泄漏#include <iostream>usin...原创 2020-04-10 14:56:06 · 224 阅读 · 0 评论 -
C++ 存储持续性、作用域和链接性
变量的存储持续性、作用于和链接性一、作用域与链接性二、存储持续性一、作用域与链接性1、作用域1)、定义作用域描述名称在文件(翻译单元)的可见范围2)、分类1)、局部作用域;2)、全局作用域(文件作用域);3)、函数原型作用域;4)、类作用域;5)、命名空间作用域;6)、函数作用域2、链接性描述名称如何在不同单元共享3、链接性的分类名称的链接性分为以下三种...原创 2020-04-06 20:03:36 · 508 阅读 · 0 评论 -
C++ 友元函数与友元类
C++ 友元函数与友元类一、友元函数1、声明2、友元函数的作用3、在类中声明友元函数的方式4、友元函数的注意事项二、友元类1、声明2、注意事项一、友元函数1、声明friend 返回类型 函数名(参数);2、友元函数的作用友元函数不受类中访问权限的限制,可以访问类中的所有成员3、在类中声明友元函数的方式1、将非成员函数声明为友元函数2、将其他类的成员函数声明为友元函数4、...原创 2020-04-10 13:42:29 · 362 阅读 · 2 评论 -
C++ 纯虚函数与抽象类
1、纯虚函数语法:virtual 返回值类型 函数名 (函数参数) = 0;纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”2、抽象类含有纯虚函数的类。抽象类不能创建对象,因为纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间抽象类通常是作为基...原创 2020-04-10 12:32:16 · 267 阅读 · 0 评论 -
C++ 向上强制转换与向下强制转换
1、向上强制转换将派生类引用或指针转换为基类引用或指针2、向上强制转换的注意事项1、向上强制转换不需要显式转换2、向上强制转换可传递。如C继承B,B继承A,B对象的引用或指针可以转换为A类的引用或指针,C对象的引用或指针也可以转换为A类的引用或指针3、向下强制转换将基类引用或指针转换为派生类引用或指针4、向下强制转换的注意事项向下强制转换需要显式转换...原创 2020-04-10 11:05:28 · 737 阅读 · 0 评论 -
C++ 多态
C++ 多态性一、多态性一、多态性1、多态性的定义“多态(polymorphism)”指的是同一名字的事物可以完成不同的功能2、多态性的分类及实现方式多态分为两种:1)、编译时的多态性(静态多态):通过函数重载和函数模板实现2)、运行时的多态性(动态多态):通过虚函数实现3、多态的作用没有实现多态的时候,基类指针只能访问派生类的成员变量,但是不能访问派生类的成员函数,...原创 2020-04-09 23:00:38 · 450 阅读 · 2 评论 -
C++ 继承
继承一、继承方式二、公有继承三、保护继承四、私有继承五、继承时的注意事项一、继承方式1、类的继承方式继承方式有三种:1、共有继承;2、私有继承;3、保护继承默认的继承方式为私有继承2、is-a关系is-a(is-a-kind-of)关系,即派生类对象也是一个基类对象,可以对基类对象执行的任何操作,也可以对派生类对象执行公有继承是is-a关系class Base{ ...原创 2020-04-09 17:34:08 · 815 阅读 · 0 评论 -
C++ 类的自动转换和强制类型转换
C++ 类的自动转换和强制类型转换一、非类类型转换为类类型二、类类型转换为非类类型一、非类类型转换为类类型1、转换构造函数接受一个参数的构造函数称之为转换构造函数2、转换构造函数的形式1)、只有一个参数的构造函数;2)、若构造函数有多个参数,若除了第一个参数外其他参数都有默认值,则该构造函数也是转换构造函数MyClass(double b); //转换构造函数 形式1MyC...原创 2020-04-08 22:58:07 · 590 阅读 · 0 评论 -
C++ 类的成员函数
C++ 类的成员函数一、普通成员函数二、构造函数三、析构函数四、拷贝构造函数一、普通成员函数1、普通成员函数的声明普通成员函数必须在类中声明,声明方式与声明普通成员函数的方式一样class People{public: void getWeight(); void getHeight(); //成员函数};2、普通成员函数的定义成员函数的定义有两种方式:...原创 2020-04-07 17:10:42 · 4481 阅读 · 0 评论 -
C++ 类简介
C++ 类简介一、什么是类二、类的特性三、声明类四、访问类成员一、什么是类1、类定义类是对某一类具有共同特征的事物的抽象描述。例如电脑类,具有键盘、屏幕、电源键等共同特征2、类的本质类是一种用户自定义的引用数据类型,它的本质是数据类型,并不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作二、类的特性1、抽象;2、封装和数据隐藏;3、继承...原创 2020-04-07 12:59:02 · 7848 阅读 · 0 评论 -
C++ 函数
函数一、函数的定义及分类一、函数的定义及分类1、函数的定义函数是实现某个功能的语句块2、函数的分类函数根据是否有返回值分为有返回值的函数和无返回值的函数,无返回值的函数称为void函数1)、无返回值的函数的定义格式:void functionName(parameterlist){ statement(s); return;}2)、有返回值的函数的定义格式:ty...原创 2020-03-30 17:11:36 · 820 阅读 · 0 评论 -
C++ 类型转换
1、前言C++中有多种数据类型,在进行运算时难免会出现不同类型的变量共同参与运算的情况,这时需要进行类型转换。C++会自动执行一些类型转换,类型转换总的来说分为两种情况:范围大的类型赋值给范围小的类型和范围小的类型赋值给范围大的类型;类型转换分为隐式转换(自动转换)和显示转换(强制转换)2、初始化和赋值进行的转换将一种类型的值赋给另一种类型时,值被转换为接收变量的类型。赋值进行的转换分...原创 2020-03-22 22:37:39 · 936 阅读 · 0 评论 -
C++ 数据类型
C++ 数据类型一、数据类型结构图二、内置类型---基本类型之整型(一)、类型分类(二)、整型的最小长度(三)、整型的取值范围:即最大、最小值(四)、整型字面值(常量)(五)、C++如何确定常量的类型(六)、符号常量三、内置类型---基本类型之浮点型(一)、浮点数的表示方式(二)、浮点数的分类(三)、浮点数的有效位数(四)、浮点数的精度(五)、浮点常量(六)、浮点数的优缺点一、数据类型结构图...原创 2020-03-22 17:12:54 · 2255 阅读 · 0 评论 -
C++ 头文件命名约定
头文件命名约定头文件类型约定示例说明C++旧式风格以.h结尾iostream.hC++程序可以用C旧式风格以.h结尾math.hC、C++程序都可使用C++新式风格无扩展名iostreamC++程序可以用,使用namespace std转换后的C加上前缀C,无扩展名cmathC++程序可以使用,可以使用不是C的特性,加namesp...原创 2020-03-22 11:05:31 · 483 阅读 · 0 评论 -
C++ 简介
1、起源C++源自Bell实验室。作者:Bjarne Stroustrup2、C++与C的关系>> C++中的++为C语言中的递增运算符,C++是C语言的扩充版>> C++在C的基础上增加了面向对象编程和泛型编程3、C++的特性C++特性=C的特性+C++自身的特性。C的特性有:>> 高效>> 简洁>> 快速>...原创 2020-03-21 17:26:51 · 288 阅读 · 0 评论