![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
文章平均质量分 50
l_ethan
这个作者很懒,什么都没留下…
展开
-
C++类模板
类模板通过建立一个通用类,类中的成员数据类型可以不具体指定,用一个虚拟的类型来代表语法 案例 类模板与函数模板的区别1.类模板没有自动类型推到的使用方式2.类模板在模板参数列表中可以有默认参数普通类中的成员函数是一开始就可以创建的类模板中的成员函数在调用时才可以创建案例 类模板对象做函数参数 一共有三种传入方式1.指定传入的类型--直接显示对象的数据类型(最常用)2.参数模板化--将对象中的参数变为模板进行传递3.整个类模板化--将这个对象类型模板化进行传递案例: 类模板与继承 注意事项原创 2022-07-31 13:23:09 · 454 阅读 · 0 评论 -
C++函数模板
C++一种编程思想称为泛型编程,主要利用的技术就是模板C++提供两种模板机制函数模板和类模板。这里介绍函数模板,类模板在该专题下的另外篇文章中。函数模板作用建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类来表达。...原创 2022-07-30 17:00:53 · 332 阅读 · 0 评论 -
C++多态技术
多态分为两类1.静态多态函数重载和运算符重载属于静态多态,赋予用函数名2.动态多态派生类和虚函数实现运行时多态静态函数和动态多态区别1.静态多态的函数地址早绑定-编译阶段确定函数地址2.动态多态的函数地址晚绑定-运行阶段确定函数地址。......原创 2022-07-30 15:47:12 · 227 阅读 · 0 评论 -
C++菱形继承
两个派生类继承同一个基类,又有某个类同时继承了两个派生类,这种继承称为菱形继承或者钻石继承。菱形继承产生的问题设基类为A,继承基类的两个子类为B、C,有D同时继承B、C1.B、C都继承了A的数据,当D使用数据时会产生二义性2.D继承了A的两份数据,我们只需要一份。...原创 2022-07-30 14:59:24 · 266 阅读 · 0 评论 -
C++运算符重载
对已有的运算符重新定义,赋予其另一个种功能,以适应不同的数据类型。原创 2022-07-30 11:25:12 · 106 阅读 · 0 评论 -
C++友元
在程序里有些私有属性,想让类外特殊的一些函数或者类进行访问可以采用友元技术。友元的目的就是让一个函数或者类访问另一个类的私有成员。原创 2022-07-30 10:34:27 · 145 阅读 · 0 评论 -
C++构造函数和析构函数
主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。默认情况下,c++编译器至少给一个类添加3个函数1.默认构造函数(无参,函数体为空)2.默认析构函数(无参,函数体为空)3.默认拷贝构造函数,对属性进行值拷贝。.........原创 2022-07-29 17:18:57 · 157 阅读 · 0 评论 -
C++函数重载和重写
存在虚函数的类中都有一个一维的虚函数表叫做虚表(vftable),类的对象有一个指向虚表开始的虚指针(vfpoint)。虚表是和类对应的,虚指针是和对象对应的。3.重写的函数和被重写的函数,返回值相同,或者返回指针或引用,并且派生类虚函数返回的指针或引用的类型是基类中被替换的虚函数返回的指针或引用类型的类型。当子类重写父类的虚函数的时候,会将从父类中继承来的虚表中父类原本的虚函数覆盖掉替换成子类的虚函数地址,从而实现多态。2.重写的函数和倍重写的函数,函数名和函数参数必须完全一致。............原创 2022-07-29 14:45:44 · 1766 阅读 · 0 评论 -
C++引用
为了支持移动操作,c++新标准引入了一种新的引用类型-右值引用。所谓右值引用就是必须绑定到右值的引用。我们通过&&而不是&来获得右值引用。如我们将要看到的,右值引用有一个重要的性质-只能绑定一个将要销毁的对象。因此,我们可以自由地将一个右值引用的资源"移动"到另一个对象中。左值表达式表示的是一个对象的身份,而右值表达式表示的是对象的值。inta=42;intr=a;//错误,不能将一个右值绑定到一个左值上//错误i*42是一个右值。......原创 2022-07-29 11:28:37 · 107 阅读 · 0 评论 -
C++内存分区模型
不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。原创 2022-07-28 17:01:53 · 301 阅读 · 2 评论