类模板与运算符重载(一个简单的例子)

类模板与运算符重载(一个简单的例子)

标签(空格分隔): C++ 算法竞赛


下面是一段简单的代码,表示我们建立了一个类模板Vector,可以看做是对STL中vector的简单实现。
为了让这个Vector支持通过下标访问,所以我们需要对[]这个运算符进行重载。
由于是类模板,所以在类模板内部,遵循这样的格式:

        T& operator ** (int i);

在函数体部分,遵循这样的格式:

        template <typename T>T& classname<T>::operator ** (paraments)    {...}

其中的classname是我们定义的类模板的名称,paraments是这个运算符需要的参数定义。
下面一段程序就是实例。

#include <iostream>
#include <algorithm>
using namespace std;
template <typename T> class Vector {protected:int _size,_capacity;int* _elem;public:T& operator[](int i);
};
template <typename T> T& Vector<T>::operator[](int i)   {return _elem[i];}
int main()  {int a=1,b=2;const int *p1=&a;int *p2=&b;p1=p2;return 0;
}

转载于:https://www.cnblogs.com/yichuan-sun/p/9624164.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 试题一

Java 试题一 1、GC是什么? 为什么要有GC 答&#xff1a;GC是垃圾收集的意思&#xff08;Gabage Collection&#xff09;,内存处理是编程人员容易出现问题的地方&#xff0c; 忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃&#xff0c;Java提供的GC功能可以自动 …

操作系统 --- [笔记]功能、组成

操作系统的作用 管理计算机硬件充当计算机用户和计算机硬件的中介(操作系统控制硬件,协调各个用户应用程序的硬件) 计算机系统的资源 CPU时间、内存空间、文件存储空间、I/O设备等 操作系统的定义 如何定义一个操作系统: 计算机系统的根本目的是,执行用户程序并且更容易解…

Java 试题二

Java 试题二 1、哪个选项和show函数重载 class Demo{ void show(int a,int b,float c){} } A.void show(int a,float c,int b){}//yes B,void show(int a,int b,float c){}//一模一样。不可以出现在同一个类中。 C.int show(int a,float c,int b){return a;}//yes。 D.in…

Python之简单验证码实现

def v_code(): ret for i in range(5): num random.randint(0,9) alf chr(random.randint(65,122)) s str(random.choice([num,alf])) ret s return retprint(v_code())转载于:https://www.cnblogs.com/geeker-xjl/p/8809915.html

测绘软件使用体会

进入石家庄铁道大学已经两年了&#xff0c;学习测绘工程专业也已经两年了&#xff0c;大一的时候大多是对测绘不了解&#xff0c;到了大二的时候上半学期我就开始了解和使用一些测绘专业相关的软件&#xff0c;在大二下半学期实习的时候更是深入的学习和使用测绘软件&#xff0…

javascript --- event loop

栗子1 求下面函数的输出 console.log(script start);setTimeout(() > {console.log(setTimeoout); }, 0);Promise.resolve().then(function(){console.log(promise1); }).then(function(){console.log(promise2); }) console.log(script end);说明: 在"promise2"…

sublime 设置自动换行

1.打开sublime,点击preferences -> settings 2.将word_wrap的值由auto修改为true&#xff08;若没有word_wrap&#xff0c;手动添加&#xff09; 转载于:https://www.cnblogs.com/hitwgs/p/8821316.html

Java 试题三

Java 试题三 1、java类是否可以多继承&#xff0c;怎么实现多继承&#xff1f; 答&#xff1a;java没有多继承&#xff0c;但可以通过接口的形式来达到多继承的目地。 2、我比较两个String总是false&#xff0c;但是它们明明都是”abc” &#xff01; 答&#xff1a;比较Str…

Cent os常见操作命令

1.查看防火墙状态&#xff1a;firewall-cmd –-state 2.关闭防火墙&#xff1a;systemctl stop firewalld.service 3.禁止防火墙开机启动&#xff1a;systemctl disable firewalld.service 4.关闭selinux&#xff1a;vi /etc/selinux/config&#xff0c;然SELINUXdisabled 5.查…

koa --- 使用中间件多层级抛出错误

说明 能够熟练的掌握错误的抛出,可以在一定程度上提高代码的开发效率和可读性 构造错误 本栗采用调用一个不存在的函数来抛出错误 const Koa require(koa); const app new Koa();// 响应时间输出中间件 app.use(async (ctx, next) > {await next();// 获取响应头,印证…

电脑的真正价值

1.不是应用程序&#xff0c;而是开发程序 2.高级语言就像是人类的语言&#xff0c;低级语言就像是一个全心全意帮我的社交专家&#xff0c;他帮我说服电脑实现我的指令 3.高级语言就是字节码&#xff0c;低级语言帮我转换成机器码 4.有时候&#xff0c;高级语言的一个眼神&…

Java 试题四

Java 试题四 1、abstract class 和interface 有什么区别? 【基础】 答&#xff1a;声明方法的存在而不去实现它的类被叫做抽象类&#xff08;abstract class&#xff09;&#xff0c;它用于要创建一个体现某些基本行为的类&#xff0c; 并为该类声明方法&#xff0c;但不能…

PyInstaller用法

pyinstaller定义&#xff1a;PyInstaller是一个压缩python文件成为可执行程序的一个软件。 pyinstaller工作原理&#xff1a;① 它会扫描你所有的Python文档&#xff0c;并分析所有代码从而找出所有你的代码运行所需的模块。② PyInstaller会将所有这些模块和你的code放在一个文…

koa --- 监听路由,并使用模板引擎渲染显示

使用路由 /Koa实战/routes/index.js const Router require(koa-router); const router new Router();router.get(/, ctx > {ctx.body index; });module.exports router/Koa实战/routes/users.js const Router require(koa-router); const router new Router({prefi…

公共平台服务治理与鉴权

问题 解决问题 鉴权 注册 管理 总结聊一聊最近了解的公司服务治理平台&#xff0c;主要是思想&#xff0c;理念&#xff0c;而不是一种技术或框架。整个平台设计&#xff0c;融入了OAUTH2认证&#xff0c;融入了微服务思想&#xff0c;帮助公司各系统在复杂的IT架构下&#xff…

Java 试题五

Java 试题五 1、运行时异常与一般异常有何异同 答&#xff1a;异常表示程序运行过程中可能出现的非正常状态&#xff0c;运行时异常表示虚拟机的通常操作中可能遇到的异常&#xff0c;是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常&#xff0c;…

【初赛】概率与期望学习笔记

一、事件 1、单位事件、事件空间、随机事件 在一次随机试验中可能发生的不能再细分的结果被称为单位事件&#xff0c;用 $ E $ 表示。在随机试验中可能发生的所有单位事件的集合称为事件空间&#xff0c;用 $ S $ 来表示。例如在一次掷骰子的随机试验中&#xff0c;如果用获得的…

koa --- 扩展hbs方法

moment 是一款常用的处理时间的库传入 1999-03-01T16:00:00.000Z YYYY/MM/DD输出 1999/03/02 const moment require(moment);const myDatePattern (date, pattern) >{return moment(date).format(pattern) } 给扩展hbs功能. 放在 utils/helper.js 下方便管理 const hb…

go系列 锁的初识

Go基础之锁的初识 当我们的程序就一个线程的时候是不需要用到锁的&#xff0c;但是通常我们实际的代码不会是单个线程的&#xff0c;所有这个时候就需要用到锁了&#xff0c;那么关于锁的使用场景主要涉及到哪些呢&#xff1f; 当我们多个线程在读相同的数据的时候则是需要加锁…

Java 试题六

Java 试题六 1、Collection 和 Collections的区别 答&#xff1a;Collection是集合类的上级接口&#xff0c;继承与他的接口主要有Set 和List。Collections是针对集合类的一个帮助类&#xff0c;他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 2、Set里…