
c++
码字界陈冠希
一个立志拿代码泡妞的男人·····帅是我的缺点······
展开
-
028--C++养成之路(模板:函数模板,模板函数以及模板函数的隐式推断)
笔记:函数模板是模板,而模板函数是函数模板下的函数。对于不同类型的函数比较,未使 用函数模板,从而使问题解决太过复杂。//模板:函数模板//函数模板,模板函数--->一个函数模板对应多个模板函数//内容:函数模板的引入,以及模板函数隐式推断#include<iostream>#include<string>#define Max(a,b) (a)>(b)?(a):(b)//宏解决多种类型函数比较问题using namespace std;in.原创 2020-10-04 18:27:05 · 101 阅读 · 0 评论 -
027--C++养成之路(异常处理:异常扩展)
笔记:原创 2020-10-04 16:51:36 · 133 阅读 · 0 评论 -
026--C++养成之路(异常处理:异常处理机制)
笔记:待写原创 2020-10-04 16:50:28 · 80 阅读 · 0 评论 -
025--C++养成之路(io流:文件的打包)
笔记:待写原创 2020-10-04 10:59:53 · 109 阅读 · 0 评论 -
024--C++养成之路(io流:文件的读写)
笔记:待写原创 2020-10-04 10:57:28 · 102 阅读 · 0 评论 -
023--C++养成之路(io流:流的初始化以及基本的输入输出)
笔记:待写原创 2020-10-04 10:55:43 · 437 阅读 · 0 评论 -
022--C++养成之路(多态:虚函数表-扩展)
笔记:虚函数表的原理--课后扩展(待写)原创 2020-10-03 20:14:43 · 103 阅读 · 0 评论 -
021--C++养成之路(纯虚函数和纯抽象类)
笔记:类似于接口函数以及接口类(具体介绍文档后续更新········)纯虚函数:#include<iostream>#include<string>using namespace std;//纯虚函数和抽象类class A{public: virtual void fooa()=0;};class B:public A{ void fooa(){ cout<<"这是纯虚函数···"<<endl; }};int m.原创 2020-10-03 19:21:49 · 737 阅读 · 0 评论 -
020--C++养成之路(多态:虚析构)
笔记:虚析构函数(virtual)没使用virtual:#include<iostream>#include<string>using namespace std;//虚析构class A{public: A(){ cout<<"A构造"<<endl; } ~A(){ cout<<"A析构"<<endl; }};class B:public A{ int* p;public: B(){ .原创 2020-10-03 18:56:30 · 105 阅读 · 0 评论 -
019--C++养成之路(多态:虚函数)
笔记:关键字virtual(文档说明后续更新,先记录关键代码仅供参考学习)没使用virtual:#include<iostream>#include<string>using namespace std;class Animal{ public: string m_name; Animal(string name); void say();};Animal::Animal(string name):m_name(name){}void Anim.原创 2020-10-03 18:30:19 · 119 阅读 · 0 评论 -
018--C++养成之路(多继承:菱形继承,虚继承)
笔记:问题菱形继承,解决方法虚继承菱形继承:#include <iostream>using namespace std;class A{public: A(){ cout<<"A构造···"<<endl; } int m_temp;};class B:public A{public: B(){ cout<<"B构造···"<<endl; }};class C:public A{public: C(){.原创 2020-10-03 16:34:54 · 88 阅读 · 0 评论 -
017--C++养成之路(多继承)
笔记:多继承,子类隐式转换为基类(皆然性)#include<iostream>using namespace std;class A{public: A(){ cout << "A构造" << endl; } void call(){ cout << "打电话··" << endl; }};class B{public: B(){ cout << "B构造" << endl; }.原创 2020-10-03 15:56:53 · 98 阅读 · 0 评论 -
015--C++养成之路(继承和子类的构造析构函数顺序)
笔记:----------------------------------------------------#include<iostream>#include<string>using namespace std;class A{public: A(){ cout << this << endl; cout << "A构造" << endl; }};class Human:public A{pri.原创 2020-10-02 17:23:35 · 78 阅读 · 0 评论 -
014--C++养成之路(运算符重载:插入提取运算符的重载)
笔记:插入提取运算符的友元函数重载。#include<iostream>using namespace std;class Complex{//为什么使用运算符重载 int m_real;//解决复杂类型 int m_vir; friend istream& operator>>(istream& in,Complex& c1);//插入运算符 friend ostream& operator<<(ost.原创 2020-09-23 10:55:39 · 128 阅读 · 0 评论 -
011--C++养成之路(运算符重载:友元)
辅导费原创 2020-09-23 10:05:59 · 96 阅读 · 0 评论 -
013--C++养成之路(运算符重载:前++,后++)
笔记:使用成员函数重载,实现前++,后++#include<iostream>using namespace std;//运算符重载//实现两个复数相加//编译器不知道+=自定义运算规则,你要自己去重载一个函数来实现这个规则。class Complex{private: int m_real; int m_vir; friend Complex operator+(const Complex& cp1,const Complex& cp2);publi.原创 2020-09-23 09:20:08 · 107 阅读 · 0 评论 -
012--C++养成之路(运算符重载的两种方式:友元函数与成员函数的调用方式)
笔记:运算符重载有两种重载方式:成员函数重载与友元(全局)函数重载#include<iostream>using namespace std;//运算符重载//实现两个复数相加//编译器不知道+=自定义运算规则,你要自己去重载一个函数来实现这个规则。class Complex{private: int m_real; int m_vir; friend Complex operator+(const Complex& cp1,const Complex&.原创 2020-09-23 08:55:55 · 269 阅读 · 0 评论 -
010--C++养成之路(static静态成员)
#include<iostream>#include<string>using namespace std;class People{ int m_age; static string m_name;//静态成员变量的声明public: People(int age):m_age(age){ } void print(){//非静态函数可以调用静态成员变量 cout << m_name << endl; } static...原创 2020-09-21 10:22:17 · 221 阅读 · 0 评论 -
009--c++养成之路(浅拷贝与深拷贝)
浅拷贝(复制地址):浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间,当内存销毁的时侯,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。默认拷贝构造就是浅拷贝:#include<iostream>using namespace std;class Complex{ double m_real; double m_vir;public: Complex(double real){ m_real = real; m_vir =.原创 2020-09-20 20:54:49 · 85 阅读 · 0 评论 -
008--C++养成之路(拷贝构造函数)
#include<iostream>using namespace std;class Complex{ double m_real; double m_vir;public: Complex(double real){ m_real = real; m_vir = 0; } Complex(Complex const& that){//拷贝构造函数 m_real = that.m_real;//拷贝对象就是拷贝对象里的成员变量 m_vir = tha..原创 2020-09-20 20:10:55 · 105 阅读 · 0 评论 -
007--c++养成之路(const常成员)
const成员:const成员变量:必须使用初始化参数列表,初始化后不能修改 const成员函数:const成员函数不能修改基本成员变量。不能调用非const成员函数 const对象:对象中数据成员不允许被改变。常对象只能调用常成员函数。...原创 2020-09-20 15:27:21 · 87 阅读 · 0 评论 -
06--c++养成之路(this 指针)
this 是c++中的一个关键字,也是一个const(常成员)指针。指向当前对象,通过它可以访问当前对象的所有成员。用->来访问成员变量或成员函数。成员函数最终被编译成与对象无关的普通函数,除了成员变量,会丢失所有信息,所以编译时要在成员函数中添加一个额外的参数,把当前对象的首地址传入,以此来关联成员函数和成员变量。这个额外的参数,实际上就是 this,它是成员函数和成员变量关联的桥梁。它并不出现在代码中,而是在编译阶段由编译器默默地将它添加到参数列表中。#include<ios.原创 2020-09-20 11:40:42 · 70 阅读 · 0 评论 -
05--c++养成之路(构造函数与析构函数)
//构造函数:#include<iostream>using namespace std;#if 1//建立一个狗类class Dog{private: int m_age; string m_name;public: //构造函数 Dog(){//默认构造函数,如果建立对象,类中没有构造函数 //系统默认建立不含任何参数以及内容的默认构造函数 } Dog(int age) :m_age(age){//构造函数重载(demo1) } Dog(int a..原创 2020-09-20 11:26:26 · 87 阅读 · 0 评论 -
04--c++养成之路(bool类型,内联,重载,缺省参数和哑元,引用,动态内存分配)
布尔类型:true表示真,本质是单字节整数1. false表示假,本质是单字节整数0. 任何基本类型都可以隐式转换为bool类型 非0即真,0即假。内联:用函数已被编译好的二进制代码,替换对该函数的调用指令。提高效率,避免函数调用开销。使用inline关键字期望该函数被优化为内联,是否内联由编译器决定。 内联会使可执行文件内存变大,只有频繁调用的简单函数适合内联。复杂函数和递归函数都不适合内联。重载:同一作用域,函数名相同,参数列表不同的函数 不同作用域...原创 2020-07-28 15:05:15 · 205 阅读 · 0 评论 -
03--c++养成之路(结构,联合,枚举)
声明或定义结构体变量,可以省略struct(内部可以定义函数)--------------C++结构 声明或定义联合变量,可以省略union(支持匿名联合)------------------------C++联合 声明或定义枚举变量,可以省略enum(独立类型和整型不能隐式相互转换)---------C++枚举结构,联合,枚举代码学习:#include<iostream>using namespace std;#if 0struct Student//结构体--在c+.原创 2020-07-27 15:27:45 · 114 阅读 · 0 评论 -
02--c++养成之路(c++第一个固定程序,以及名字空间namespace)
C++第一个程序Hello.cpp 输出Hello,C++名字空间:==》为什么需要名字空间?划分逻辑区域 解决名字冲突名字空间的使用:创建名字空间:namespace 空间名{} 作用域限定符(::)------>表示作用域或所属关系 名字空间合并:名字空间因为冗余或其他原因需要分在不同的地方 声明和定义分开:名字空间内容可以声明和定义分开 名字空间嵌套:···· 名字空间别名:···· 名字空间指令:····名字空间代码内容测试:#if 0#...原创 2020-07-27 11:57:41 · 139 阅读 · 0 评论 -
01--c++养成之路(学习内容体系,简介,发展,应用方向,与c比较优势)
导读:此系列文章为自己的学习笔记,忘各位朋友自行借鉴。 学习体系:=======》》》》 面向对象 操作符重载 继承和多态 I/O流和异常 模板 泛型编程 简介:编程语言发展 第一代:机器语言(二进制)、汇编语言 第二代:面向过程(C/FORTRAN/PASCAL) 第三代:面向对象(C++/JAVA/C#) 第四代:面向问题 (SQL/MATLAB) C++方向 游戏:Directx 3d、Open..原创 2020-07-26 18:37:03 · 157 阅读 · 0 评论