社区
C语言
帖子详情
请教一个关于操作符重载的问题
amadou
2002-12-17 11:14:51
main()
{
int a[50];
cin >> a;
}
输入格式是这样的,N:d,d,d,d……,其中N为所要进入数组数据的个数,d为数据
比如要输入1,2,3三个数,这样的格式为3:1,2,3
请问>>要如何重载??
...全文
22
11
打赏
收藏
请教一个关于操作符重载的问题
main() { int a[50]; cin >> a; } 输入格式是这样的,N:d,d,d,d……,其中N为所要进入数组数据的个数,d为数据 比如要输入1,2,3三个数,这样的格式为3:1,2,3 请问>>要如何重载??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ITMSC
2002-12-17
打赏
举报
回复
#include <iostream>
using namespace std;
istream & operator>>(istream& in, int*& a)
{
int b;
in >> b;
a = new int[b+1];
a[0] = b;
for( int i = 1; i <= a[0]; i++ )
in >> a[i];
return in;
}
int main()
{
int* a;
int* b;
cin >> a >> b;
int i;
for( i = 1; i <= a[0]; i++ )
cout << a[i] << " ";
cout << endl;
for( i = 1; i <= b[0]; i++ )
cout << b[i] << " ";
cout << endl;
delete[] a;
delete[] b;
}
input :
4 1 2 3 4
3 1 2 3
output:
1 2 3 4
1 2 3
俞庆平
2002-12-17
打赏
举报
回复
如果没有类的话,不用friend申明了。
jp311
2002-12-17
打赏
举报
回复
istream &operator>>(istream &is, int *a)
{
int N;
is >> N
for (int i = 0; i < N; --i)
{
is >> a[i];
}
return is;
}
俞庆平
2002-12-17
打赏
举报
回复
在你的类中声明:
friend istream& operator >>(istream& is, YourClassName& arg);
然后在外部实现
istream& operator >>(istream& is, YourClassName& arg)
{
is >> members;
....
return is;
}
Firstbyte
2002-12-17
打赏
举报
回复
istream & operator>>(int* a)
{
int b;
cin>>b;
for(;b>0;b--)
{
int x;
cin>>x;
}
}
amadou
2002-12-17
打赏
举报
回复
掉下去了,我顶顶,各位帮忙啊
amadou
2002-12-17
打赏
举报
回复
按ITMSC()和jiangpeng(jacky)说的,用3 1 2 3这种格式可以
但用3:1,2,3就不行了,输出的是乱码?!!!
Firstbyte
2002-12-17
打赏
举报
回复
getchar()
amadou
2002-12-17
打赏
举报
回复
那如果有个程序要求输入一整句话,其中有逗号有分号,存放在字符数组中怎么办?
阿发伯
2002-12-17
打赏
举报
回复
Yes!
amadou
2002-12-17
打赏
举报
回复
多谢各位,再问一个问题,输入格式中分号或逗号是不是只做为分隔用而不会真正地输入?
为什么说Kotlin是你下
一个
要掌握的语言?
Kotlin教程:Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、
操作符
重载
、字符串模板。它与Java高度可互操作,可以同时用在
一个
项目中。本课程结合讲师的实践案例为同学们深度讲解Java转kotlin需要知道的一些事。
c++学习之
操作符
重载
学习过程中,关于c++
操作符
重载
时的中间变量是什么时候析构的呢?
请教
。
c++ =号
重载
及函数返回值临时变量
问题
今天写c++
操作符
重载
发现了一些
问题
,遂向师兄
请教
,于是引出一堆
问题
,讨论过程中,也解了我几个大疑惑。 首先写
一个
c++类,如果你不显示实现,c++会帮你实现拷贝,=号
重载
,无参默认构造函数等三个基本成员函数。 感觉上拷贝和=号
重载
其实是
一个
意思,但是编译器不这么干,这两个是分别实现的。 无参构造函数是其成员各自调用自己的无参构造函数,如此循环调用...
方法
重载
与函数
重载
最近学习C++时,遇到了
一个
问题
,其实可以说是
一个
知识点,那就是关于函数
重载
的点点滴滴,在向别人
请教
这个
问题
的时候,别人提了一下,什么是方法
重载
,知道吗?我顿时皱起了眉头。别人简单说了一下,这两者的区别,说道其实它们的用法是一样的,只是方法
重载
是相对于对象而言,是对象的某种实现,但是函数
重载
是
一个
封装好的函数体,用的时候直接用就行。 出于好奇,自己借助书籍和上网查了查。 Ø What?
文章标题
运算符的
重载
[TOC] 一、
重载
是否作为类员 有些运算符只能作为类成员来
重载
,这种情况下,和定义类成员函数区别不大,比如说=、[]、调用()、和成员访问箭头-> 有些运算符,最好作为类的友元来
重载
,例如算数
操作符
、相等
操作符
,关系
操作符
等; 二、输入输出运算符 它们只能定义为普通的非成员函数,注意函数的参数例如// 调用本类输出
操作符
重载
friend ostream &operator
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章