4 我有一个菜园

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 12w+

46.模板类的函数想支持隐式转换,就定义friend函数解决隐式转换,调用其他模板函数代码实现具体操作。

Rational<int> a(1,2);Rational<int> b=a*2;//模板不支持隐式类型转换//但普通函数可以,所以用friend

2020-08-13 12:43:44

c++红黑树,插入,删除,双红缺陷,双黑缺陷

c++代码已经上传,请自行下载,需要0积分。文章目录红黑树概念插入情况1情况2删除情况1情况2情况3情况4情况5代码插入删除双红双黑更新高度红黑树概念提升变换,把红孩子提到父亲就是4阶B树高度证明#include "BST/BST.h" //基于BST实现RedBlacktemplate <typename T> class RedBlack : public BST<T> { //RedBlack树模板类protected: void solveDouble

2020-08-13 11:32:30

45具现化的模板类之间有继承关系吗?成员函数模板有什么用?泛化的copy构造函数,赋值操作成员函数模板有什么用?copy构造函数,赋值操作怎么阻止隐式转换?

只有存在隐式转换,U转为T才通过编译。用成员函数模板生成“可接受所有兼容类型”的函数。如果想阻止隐式转换,就要写copy构造函数,赋值操作的explicit多态版本。声明成员函数模板用于泛化copy构造函数,赋值操作时,还是要声明普通copy构造函数,赋值操作版本。...

2020-08-13 08:44:13

B树概念 规则 查找 插入 删除

文章目录B树概念规则查找插入删除B树概念规则template <typename T> struct BTNode { //B-树节点模板类// 成员(为简化描述起见统一开放,读者可根据需要进一步封装) BTNodePosi(T) parent; //父节点 Vector<T> key; //关键码向量 Vector<BTNodePosi(T)> child; //孩子向量(其长度总比key多一)// 构造函数(注意:BTNode只能作为根

2020-08-12 18:30:17

伸展树,查找,插入,删除

文章目录查找插入删除效果:类template <typename T> class Splay : public BST<T> { //由BST派生的Splay树模板类protected: BinNodePosi(T) splay ( BinNodePosi(T) v ); //将节点v伸展至根public: BinNodePosi(T) & search ( const T& e ); //查找(重写) BinNodePo

2020-08-12 11:26:05

44template代码膨胀

非类型参数膨胀类型参数膨胀共同点:共享代码,解决代码膨胀问题

2020-08-11 21:50:08

BBST树,AVL树,平衡二叉搜索树,平衡因子,单旋,双旋,插入,删除,3+4重构,BBST复杂度对比BST

文章目录平衡因子插入:失衡处理删除:失衡处理3+4重构直接拼装:输入3点+4树,输出:上图BBST复杂度对比BST平衡因子插入:失衡处理template <typename T> BinNodePosi(T) AVL<T>::insert ( const T& e ) { //将关键码e插入AVL树中 BinNodePosi(T) & x = search ( e ); if ( x ) return x; //确认目标节点不存在 BinNo

2020-08-11 12:04:53

模板的继承,派生类不会进入基类作用域查找怎么办?什么是全特化?

43模板的继承,派生类不会进入基类作用域查找怎么办?

2020-08-10 18:32:51

typename用法,什么是嵌套从属名称,什么时候typename不能用?

42typename什么是嵌套从属名称,什么时候typename不能用?

2020-08-10 17:59:53

class和template对接口和多态的支持的区别?

41class和template对接口和多态的支持的区别

2020-08-10 17:24:41

BST,二叉搜索树,查找,插入,删除

文章目录搜索树查找算法——二分查找insert删除搜索树为了解决之前的数据结构的不足(无法兼顾赠删和查询的效率)二叉搜索树BinTree1)lift<=root<=right2)中序遍历的序列是非严格单调增的查找算法——二分查找template <typename T> BinNodePosi(T) & BST<T>::search ( const T & e ) { //在BST中查找关键码e if ( !_root || e ==

2020-08-10 15:59:11

二叉树基本概念,度,有序树,等价类,高度,深度,二叉树的表示,二叉树的实现,二叉树遍历算法,二叉树的重构

二叉树基本概念

2020-08-10 10:41:20

多重继承

40多重继承

2020-08-09 23:09:16

private继承和public继承的区别,has-a关系,根据某物实现出,类中使用别的类叫复合,c++怎么阻止派生类继承,相当于java的final

文章目录38类中使用别的类叫复合39private继承和public继承的区别,has-a关系,根据某物实现出,c++怎么阻止派生类继承,相当于java的final38类中使用别的类叫复合39private继承和public继承的区别,has-a关系,根据某物实现出,c++怎么阻止派生类继承,相当于java的final...

2020-08-09 14:19:18

不要覆盖no-virtual,不要覆盖默认形参,动态绑定,静态绑定,静态类型动态类型

文章目录36不要覆盖no-virtual37不要覆盖默认形参36不要覆盖no-virtual37不要覆盖默认形参

2020-08-09 11:19:40

虚函数的替代方案

文章目录35虚函数以外的解决方法35虚函数以外的解决方法

2020-08-09 10:43:05

c++基础知识总汇(c++primer)

文章目录目录static静态成员static静态成员的访问static静态成员的定义和初始化只能类内部声明使用,不能外部重复使用的关键字类的隐式类型转换什么时候发生?有什么缺点?类的隐式类型转换怎么阻止?类的隐式类型转换阻止了再开启怎么办?成员初始化的顺序是什么?构造函数初始化完成在什么时候?构造函数初始值什么情况下必须?名字查找之成员声明类的编译顺序是什么?返回值什么时候要加上作用域::?基于const的重载const成员函数失效,mutableinline函数怎么定义?友元是什么?友元怎么声明?类的用户

2020-08-08 22:27:50

纯虚函数

文章目录3434

2020-08-08 22:19:46

什么是public继承,is-a关系,派生类重载,作用域

文章目录32333233转交函数using

2020-08-08 22:15:35

inline的缺点,修改实现类代码,客户端怎么避免重新编译?

30inline的缺点1.编译器自动做的事情class内的默认函数,编译器会inline而且出产生很多代码,当出现继承关系时,派生类也会inline基类的inline函数代码。2.链接与编译inline函数改动,导致客户端重新编译。no-inline函数改动,重新链接即可。31修改实现类代码,客户端怎么避免重新编译?为什么重新编译?编译需要知道对象大小,对象大小只有定义才能提供,实现类里有定义。所以修改实现类会重新编译。解决方法:接口和实现分离客户端依赖声明式的头文件,不依赖定义

2020-08-08 22:11:37

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取