
C++基础强化
我会微积分
这个作者很懒,什么都没留下…
展开
-
C++——模板
类模板 作用:建立一个通用类,类中的成员数据类型可以不具体指定,用一个虚拟类型代表 template< class T> 紧跟一个类,与函数模板区别在于紧跟在上式后面是类而不是函数 template<class T1, class T2> class Solution { public: Solution(T1 a, T2 b) { this->a = a; this->b = b; } T1 a; T2 b; } void test() { So原创 2021-10-25 19:33:31 · 191 阅读 · 0 评论 -
C++——多态
1.基本概念 静态多态:函数重载、运算符重载,可以复用函数属于静态多态,地址早绑定,编译阶段确定函数地址 动态多态:派生类和虚函数,地址晚绑定,运行阶段确定函数地址,启动运行后才能确定函数怎么走 void func(Father &C) { C.done(); } void test() { Son B; func(B); } C++中允许父子之间的类型转换,将B的子类对象传递给父类对象时,地址是早绑定的,在编译阶段就确定了函数的地址,因此函数执行时,调用的是父类中的done函数,而不是原创 2021-10-19 17:26:14 · 239 阅读 · 0 评论 -
C++——继承
继承本质:减少重复代码 语法:class 子类 : 继承方式 父类 子类也称为派生类, 父类也称为基类 公共类: class gonngyong { public: //公共的成员属性和成员函数 } 继承: class Solution : public gongyong { public: //自身的成员属性和成员函数 } ...原创 2021-10-14 21:49:41 · 170 阅读 · 1 评论 -
C++——运算符重载
运算符重载:对已有的运算符重新定义,赋予其另一种功能,以适应不同的数据类型 1.加号运算符重载 ①成员函数重载 Solution C = C1.operator+(C2) Solutin operator+(Solution &C2) { Solution tmp; tmp->a = this->a + C2->a; return tmp; } ②全局函数重载 Solution C = operator+(C1,C2); //C2也可以是别的函数类型,实现对象和int等类原创 2021-10-11 20:14:28 · 125 阅读 · 0 评论 -
C++——友元
友元:一个函数或者类可以访问另一个类中的私有成员 1.全局函数作友元 将friend 全局函数的声明放入类中;表示该全局函数是该类的好朋友可以访问类中的私有成员 2.类作友元 类外写成员函数: GoodGay::GoodGay { building = new Building; } void GoodGay::visit() { //如果Building类中m_SittingRoom成员是私有的,需要在building类中加上 friend class GoodGay; 表示这个类是本类的好朋友,这原创 2021-10-08 10:56:45 · 81 阅读 · 0 评论