c++重载二维数组运算符,即两个括号

小弟不才,今天上午才明白重载[]的一维用法,但又卡在了二维数组时的重载
我的思路就是 在该类中,
class array(int a,int b){*p=new int[a*b];}
int & operator
{return 这里不知道该怎么搞,这个二维数组当一维数组处理的指针,两次调用的处理方法好像不一样,也无法进行条件判断}
private: int **p;
这里就尴尬了,*p是指向指针p的指针,p是指向动态内存首地址的指针。说实话我个人不太理解这种写法,混在一起难理解,又搅不清。这是我网上搜到的思路,个人理解能力有限,希望大神们指点指点。

这里就是想问下,重载二维数组的下标运算符,有什么思路没,初学者能理解的那种…,顺便问下重载圆括号函数调用运算符的思路,圆括号的重载目前完全没思路。如果有大神愿意贴出部分关键源代码,在此再次感谢了

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么用c++写 二维数组 的旋转

我是新手 想用c++编写一个可以旋转的二维数组 但不知道怎么写 能不能给我讲一下或者告诉我那些书中可以学习 谢谢

c++中二维数组数组名的问题

我已经知道了二维数组的数组名代表的是行地址,那么如果二维数组的数组名加上一个比该二维数组行数更大的一个数,代表的是第几个元素的地址?求解!!! 例: #include<iostream> using namespace std; void main() { int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; cout << a + 6 << endl; }

C/C++ 二维数组赋值问题

我今天碰到一道出乎我以前理解的问题: 二维数组元素a[2][3]在内存中的存放顺序是a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2] 并且是连着存放的。可为什么我辅助的时候采用以下这样的形式没法给二维数组赋值呢?还请大佬指点,不甚感激。 ``` int a[2][3]; for(int i=0;i<6;i++) scanf("%d",&a[i]); ```

c++二维字符数组怎么部分赋值?

假设定义一个二维数组 char str[5][5]={} memset(str,'1', sizeof(str)); 那么现在的str是 * * * * * * * * * * * * * * * * * * * * * * * * * 假使我在控制台输入(回车换行,空格区分不同元素) a b c b d e f h j 怎么使str变成 a b c * * b d e f * h j * * * * * * * * * * * * *

用运算符重载进行一维数组相加的程序

用运算符重载进行一维数组相加的程序 写出函数体就行了用运算符重载进行一维数组相加的程序

C++如何创建动态二维数组,然后将二维数组的数保存到一维数组中?

//此程序是我自己编的,但是不能通过,请问这是怎么回事? #include<iostream> using namespace std; int main() { int n,m,k,i,j,l; cin>>n>>m>>k; int X[][]={0}; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { X[i][j]=i*j; } int Y[]={0}; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { Y[n*m]=X[i][j]; } for(l=0;l<n*m;l++) cout<<"Y数组中的元素为:"<<Y[l]<<endl; //system("pause"); return 0; }

二维数组请教 这个题怎么写

请编写一个 C++程序,根据用户输入的整数 N,首先生成一个 N× N 的二维数组,按行优先的方式在 该二维数组中填入 1~ N2 的数,然后按螺旋方式输出数组。下面是一个示例(输入为 16): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输出: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 (提示:可仿照上题动态生成二维数组,需考虑 N 为奇数时,中间元素的输出)

C++用sizeof取二维数组长度问题

``` #include <iostream> #include <cstring> using namespace std; class Book { private: char name[10]; char author[5][3]; int author_total; int price; public: void setName(char *name1){ strcpy(name,name1); } void setAuthor(char author1[][10]) { author_total = (sizeof(author1)/sizeof(char))/(sizeof(author1[0])/sizeof(char)); cout << author_total<<endl;//这里输出0 for(int i=0;i<author_total;i++) { strcpy(author[i],author1[i]); } } void setPrice(int p) { price = p; } int Output() { cout<<"Name:"<<name<<endl; cout<<"autor:"; for(int i=0;i<author_total;i++) { cout<<author[i]<<" "; } cout<<"\nPrice:"<<price<<endl; return 0; } }; int main() { Book temp; char author[][10] = {"a1","a2","a3","a4","a5","a6"}; temp.setName("ABCD"); temp.setPrice(10); temp.setAuthor(author); cout<<(sizeof(author)/sizeof(char))/(sizeof(author[0])/sizeof(char))<<endl;//这里输出正确输出6 temp.Output(); return 0; } ``` 为什么把二维数组作为参数传到函数中,取出来的不一样呢,要怎么解决

C++二维数组查找一个局部极大值

我的问题是1.不会用二分法直接找到一个局部极大值,只是实现了输入一个值来判断 2.调用函数不知道怎么返回二维数组下标。 ``` #include<iostream> #include<vector> using namespace std; int Find(int target, vector<vector<int> > array); int main(){ vector<int> v; vector< vector<int> > test; int n,temp; cin >> n; test.clear(); for(int i=0;i<n;i++){ v.clear(); for(int j=0;j<n;j++){ cin >> temp; v.push_back(temp); } test.push_back(v); } int target; cin >> target; int a = Find(target,test); if(a == 0){ cout<<"找不到peak!"<<endl; } else{ cout<<a<<endl; } return 0; } int Find(int target, vector<vector<int> > array) { if(array.size() == 0 || array[0].size()==0) return 0;//0表示找不到 int rows = array.size(); int clos = array[0].size(); int left = 0, right = rows-1; int mid; while(left <= right){ mid = ( left + right )/2; if(array[mid][0] <= target){ left = mid+1; }else{ right = mid-1; } } int rowIndex = mid; for(int i=rowIndex; i>=0; i--){ left = 0; right = clos - 1; while(left <= right){ int mid = (left + right)/2; if(array[i][mid] == target){ return array[i][mid]; //不会返回下标就返回来查找到的数值 }else if(array[i][mid] > target){ right = mid -1; }else{ left = mid +1; } } } return 0; //0表示找不到 } ```

C++跪求这个二维数组指针如何表示的啊!!

9#include using namespace std; int main() { void fun(int *p1,int *p2,int w,int h); int a[2][2]={{1,2},{3,4}}; int b[2][2]={{1,2},{3,4}}; int w=2,h=2; fun(a[0],b[0],w,h); cout<<"sum="<<a[0][0]<<" "<<a[0][1]<<" "<<a[1][0]<<" "<<a[1][1]<<" "<<endl<<"sub="<<b[0][0]<<" "<<b[0][1]<<" "<<b[1][0]<<" "<<b[1][1]<<" "<<endl; return 0; } void fun(int *p1,int *p2,int w,int h) { int i,j,sum,sunb; for(i=0;i<h;i++) for(j=0;j<w;j++) { sum=p1[i*w+j]+p2[i*w+j]; sunb=p1[i*w+j]-p2[i*w+j]; p1[i*w+j]=sum; p2[i*w+j]=sunb; } } 这个程序中,p1[i*w+j]代表啥啊,是二维数组的表达方式? 那当i=1时,表示P1[2+0],这不就是P1【2】【0】吗,那P1【1】【0】咋表示啊

怎么用二维数组储存字符串

类似于杨辉三角或者是ABCDEF环绕成正方形打印我想看能不能用二维数组控制他们循环打印 数字我用二维数组能控制循环,但不知怎么在二维数组里储存字符串,是用数组指针吗?大神们能给个杨辉三角但是数学换成字符串的例子吗?类似图中用二维数组做怎么表示![图片说明](https://img-ask.csdn.net/upload/201601/09/1452347891_138072.png)![图片说明](https://img-ask.csdn.net/upload/201601/09/1452347951_183329.png)

c++,如何输入一个一维数组和一个二维数组后判断二维数组中和一维数组有几个共同的元素?

题目:一份购物单(五个货号),去四个不同的商店购物,每个物品有自己的货号。判断哪一家所含要购物品最多如若所含量一样,输出所含一样店家的最后一家。 #include<iostream> using namespace std; int main() { int a[5]={0},i,s=0,d=0,f=0,g=0; for(i=0;i<5;i++) cin>>a[i]; int b[4][5]; int j,k; for(j=0;j<4;j++) for(k=0;k<5;k++) cin>>b[j][k]; for(int y=0;y<5;y++) { if(a[i]==b[0][y])s+=s; if(a[i]==b[1][y])d+=d; if(a[i]==b[2][y])f+=f; if(a[i]==b[3][y])g+=g; } cout<<s<<endl; cout<<d<<endl; cout<<f<<endl; cout<<g<<endl; return 0; }

C++二维数组求和,输出不对,请大神帮忙看看

#include<iostream> using namespace std; int main() {int sum(int a[5][5],int b[5][5]); int i,j,g[5][5],h[5][5],d[5][5]; for(i=0;i<5;i++) {for(j=0;j<5;j++) { cin>>g[i][j]; } } cout<<endl; for(i=0;i<5;i++) { for(j=0;j<5;j++) { cin>>h[i][j]; } } cout<<"矩阵和"<<endl; d[i][j]=sum(g,h); for(i=0;i<5;i++) {for(j=0;j<5;j++) {cout<<d[i][j]<<" "; } cout<<endl; } return 0; } int sum(int a[5][5],int b[5][5]) { int c[5][5],i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { c[i][j]=a[i][j]+b[i][j]; } } }![图片](https://img-ask.csdn.net/upload/201611/19/1479567225_810710.png)

如何利用C++二维数组随机产生10个数,但这10个数的位置不过于分散

如何利用C++二维数组随机产生10个数,但这10个数的位置不过于分散

c++输出二维数组的问题

![图片说明](https://img-ask.csdn.net/upload/202002/27/1582802241_163910.png) 用for循环做了一下又想用数组做一下 ``` #include <iostream> using namespace std; void main(){ int i=0,m=5; char sz[9][9]={0}; for(;i<=8;i++){ if(i<=4){ for(int k=0;k<=i;k++){ sz[i][m-k]=sz[i][m+k]='*';} } if(i>4){ for(int o=8-i;o>=0;o--){ sz[i][m-o]=sz[i][m+o]='*';} } } for(int t=1;t<=9;t++){ for(int y=1;y<=9;y++){ cout<<sz[t][y];} cout<<'\n'; } } ``` 但是结果产生了乱码 ![图片说明](https://img-ask.csdn.net/upload/202002/27/1582802339_624038.png) 自己没找到错误,初学者求助

c++二维vector数组赋值的问题

建了一个二维数组(19*19): ![图片说明](https://img-ask.csdn.net/upload/201806/06/1528254415_305614.png) 初始化: ![图片说明](https://img-ask.csdn.net/upload/201806/06/1528254479_16033.png) 然后根据条件改值: ![图片说明](https://img-ask.csdn.net/upload/201806/06/1528253301_116574.png) 赋值语句a[i] [j].safe=1;赋值成功,但是后面四行 a[i+1] f[j+1]a.safe=1; a[i+1][j-1].safe=1; a[i-1][j+1].safe=1; a[i-1][j-1].safe=1; 却无法赋值(没有越界),这是为什么呢,有什么解决办法吗? 我是通过vs2010调试观察里面的值来看出后四行没有成功赋值的

c++用二维数组输入10个学生的成绩

#include<iostream> using namespace std ; main() { int stu [10][4] ; int i, j ; for ( i = 1 ; i <= 10 ; i ++ ) { cout << "请输入"<< "第" << i << "个学生的四门成绩: " ; for ( j = 1 ; j <= 4 ; j ++ ) { cin >> stu [10][4] ; } } for ( i = 1 ; i <= 10 ; i ++ ) { for ( j = 1 ; j <= 4 ; j ++ ) { cout << stu [i][j] << endl; } } }

c++如何将二维数组元素逆序储存

比如a[3][3]={{1,2,3},{4,5,6},{7,8,9}}换成 a[3][3]={{9,8,7},{6,5,4},{3,2,1}}

c++ 二维数组在子函数里的引用

如题,下面是某个错误程序的简化,请问为什么在change2(map)那里报错了; vs里说: *error C2664: “change2”: 不能将参数 1 从“int [][10]”转换为“int (&)[10][10]”* ``` #include<iostream> using namespace std; void change2(int (&map)[10][10]){ return; } void change1(int map[10][10]){ change2(map); return; } int main(){ int map[10][10]; change1(map); return 0; } ``` And为什么在change1里面map的类型变成int (*map)[10]了?

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐