template
文章平均质量分 69
怎么这么帅啊
这个作者很懒,什么都没留下…
展开
-
【C++】【线段树】线段树实现,及其使用【区间树】
prim一、完整代码二、应用引用一、完整代码#include <cassert>#include <functional>template<class T>class SegmentTree {private: T *tree; T *data; int size; std::function<T(T, T)> function; int leftChild(int index) { r原创 2021-06-18 15:44:18 · 376 阅读 · 0 评论 -
C++ 类内重载输出运算符、类外重载输出运算符的区别;及其调用区别;operator<<
目录前言一、类内与类外重载运算符1.类内重载与类外重载的区别2.类外重载为什么需要友元关于模板类3.类内重载与类外重载,调用的区别二、实例实现效果:参考前言最后的实例利用一个模板类来实现类内与类外重载输出运算符。其他运算符的重载类似。如果不需要模板,去掉模板即可。一、类内与类外重载运算符1.类内重载与类外重载的区别1.1类外重载一般需要类内声明友元,详见2.1.2类内实现,调用的时候需要用对象调用,参数列表只包含一个ostream类引用。1.3类内,作为成员函数,所以没有友元声明一说。原创 2021-05-13 12:05:47 · 2445 阅读 · 0 评论 -
C++模板类;友元重载operator<<,使其也具有泛型特性; 非成员重载运算符的模板。
目录前言实例效果参考前言实现的模板类中,如果要打印输出实时的私有成员内容,重载operator<<就可并设为友元即可。operator<<也需要泛型,就将其也做成模板函数,再在类外实现即可。实例代码如下(示例):用栈实现一个队列,队列是私有的。这个类是模板类。通过设定友元,使得(非成员重载运算符operator<<)能够访问到对象中私有成员。template<typename TT>class MyQueue {private: s原创 2021-05-07 16:19:15 · 1237 阅读 · 0 评论