
C++
for_cs_lhh
这个作者很懒,什么都没留下…
展开
-
C++基础——构造函数、析构函数、深浅拷贝详解
构造函数该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员。#####构造函数的种类class Complex{private : double m_real; double m_imag;public: // 无参数构造函数 // 如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做 // 只要你写了一个下面的某一种构造函原创 2020-10-27 23:35:14 · 243 阅读 · 0 评论 -
C++基础——运算符重载
运算符重载所谓重载,就是对一个同样的东西赋予新的意义,函数重载就是让一个函数名有多种功能,在不同的情况下有不同的操作。运算符重载也是让同一个运算符可以有不同的功能。C++允许程序员自己重载运算符,给我们写程序带来了更大的便利。运算符重载的声明和应用局部运算符重载以下代码定义了一个复数类,通过重载运算符+,实现复数的加法。#include <iostream>using namespace std;class complex{public: complex(); c原创 2020-10-27 23:33:49 · 218 阅读 · 0 评论 -
C++基础——this指针
this指针详解一、问题1.一个类中的不同对象在调用自己的成员函数时,其实它们调用的是同一段函数代码,那么成员函数如何知道要访问哪个对象的数据成员呢?没错,就是通过this指针。每个对象都拥有一个this指针,this指针记录对象的内存地址,当我们调用成员函数时,成员函数默认第一个参数为T* const register this,大多数编译器通过ecx寄存器传递this指针,通过 this 这个隐式参数可以访问该对象的数据成员。2.类的成员函数为什么不能用static和const同时修饰?类中用原创 2020-10-27 23:32:25 · 731 阅读 · 0 评论 -
C++基础——虚函数、抽象类、友元详解
虚函数C++能够通过继承等方法实现快速开发,为了满足多态和泛型编程这一特性,C++使用虚函数来完成这一操作。虚函数是运行时决定,其他语言是通过 编译时决定的。虚函数的实现是由两个部分组成的,虚函数指针与虚函数表。虚函数的定义与声明class Base{public: virtual void func()const { cout << "Base!" << endl; }};class Derived :public Base{public: virt原创 2020-10-27 23:24:37 · 757 阅读 · 0 评论 -
C++基础——const T、const T*、T const、const T&、const T&
const T、const T*、T const、const T&、const T& 的区别T是指一种数据类型,可以是基本数据类型,也可以是自己定义的类型,单独的一个const是指一个常量。const T定义一个常量,声明的同时必须进行初始化。一旦声明,这个值也将不能被改变。##const T*指向常量的指针,不能改变所指向对象的值。 1 const int i = 5; 2 const int i2 = 10; 3 const int* pInt = &i;原创 2020-09-28 16:34:55 · 5172 阅读 · 0 评论 -
C++基础——虚函数
C++笔记——虚函数C++能够通过继承等方法实现快速开发,为了满足多态和泛型编程这一特性,C++使用虚函数来完成这一操作。虚函数是运行时决定,其他语言是通过 编译时决定的。##虚函数的实现虚函数的实现是由两个部分组成的,虚函数指针与虚函数表。虚函数指针虚函数指针从本质上来说就是一个指向函数的指针,与普通的指针并无区别。它指向所定义的虚函数,具体是在子类里实现,当子类调用虚函数的时候,实际上是通过调用该虚函数指针从而找到接口。虚函数指针是确实存在的一种数据类型,在一个被实例化的对象中,它总是被存放在原创 2020-09-27 12:36:20 · 194 阅读 · 0 评论 -
C++基础——类模板详解
C++模板——类模板C++中模板类的定义方法template<class T ,class T1,…>class 类模板名{成员变量和成员函数};类模板中成员函数放在模板类外面定义语法:template <类型参数表>返回值类型 类模板名<类型参数名列表>::成员函数名(参数表){…}用类模板定义一个对象写法如下:类模板名<真实参数类型表> 对象名(构造函数实际参数表);类模板名<真实参数类型表> 对象名;原创 2020-09-26 17:21:10 · 413 阅读 · 0 评论 -
C++基础——函数模板
C++ 模板-------函数模板模板用于生成不同的东西(函数或者类),在C++中有函数模板和类模板。函数模板场景:当我们需要自己实现print函数时,怎么处理传入参数类型(double、int、char,short、string)不同的情况呢?函数重载—这意味着你至少要写两个以上的函数区支持你的参数类型和个数的变化,而且这种方法不支持扩展,如果有其他要求,就必须再增加重载函数,这是比较笨的方法,有什么更好的方法去实现它呢?------> 函数模板template <typenam原创 2020-09-25 15:09:32 · 190 阅读 · 0 评论 -
C++进阶-------STL标准模板库(1)
C++ STL标准模板库(一)STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如表 1 所示。容器类简单的理解容器,它就是一些模板类的集合,但和普通模板类不同的是,容器中封装的是组织数据的方法(也就是数据结构)。STL 提供有 3类标准容器,分别是序列容器、排序容器和哈希容器,其中后两类容器有时也统称为关联容器。它们各自的含义如表所示。迭代器无论是序列容器还是关联容器,最常做的操作无疑是遍历容器中存原创 2020-09-24 00:00:55 · 462 阅读 · 0 评论