面向对象的程序设计学习笔记-10-[]下标运算符的重载-part1
来源:互联网 发布:淘宝账号邮箱怎么注册 编辑:程序博客网 时间:2024/05/17 23:03
/*重载下标运算符[]
下标运算的格式为<基本表达式>[表达式]
可以看成一个二元运算符“[]”:
左操作数为 <基本表达式>
右操作数为<表达式>
对应的函数是operator[]
设x是X类的一个对象,则表达式
x[y]可以解释为x.operator[](y)
在重载时,只能显式地声明一个参数
*/
#include <iostream>
using namespace std;
class vector
{
public:
vector(int size);
~vector();
int &operator[](int i);//int &operator[](int i);//使用重载下标访问数据成员
double find(int i);//使用一般的函数访问数据成员
private:
int *v;
};
vector::vector(int size)
{
v=new int[size];
}
vector::~vector()
{
delete v;
}
int &vector::operator[](int i)//不使用用引用时,也可以尝试下
{
return v[i];//v是指针,指向的位置只能用[],不能用()
}
double vector::find(int i)
{
return v[i];
}
void main()
{
vector c(5);
vector a(9);
/*补充说明,当将下标的返回值类型指定为某个类的对象引用,从而可以
将该下标表达式写在赋值号的左边,即可以作为左值表达式*/
c[1]=19;//隐式
cout<<c[1]<<endl;
c.operator[](3)=110;//显式赋值
cout<<c.operator[](3)<<endl;//显式调用输出
a[0]=c[1]+1;
cout<<a[0]<<endl;
cout<<c.find(3)<<endl;
cout<<a.find(0)<<endl;
}
下标运算的格式为<基本表达式>[表达式]
可以看成一个二元运算符“[]”:
左操作数为 <基本表达式>
右操作数为<表达式>
对应的函数是operator[]
设x是X类的一个对象,则表达式
x[y]可以解释为x.operator[](y)
在重载时,只能显式地声明一个参数
*/
#include <iostream>
using namespace std;
class vector
{
public:
vector(int size);
~vector();
int &operator[](int i);//int &operator[](int i);//使用重载下标访问数据成员
double find(int i);//使用一般的函数访问数据成员
private:
int *v;
};
vector::vector(int size)
{
v=new int[size];
}
vector::~vector()
{
delete v;
}
int &vector::operator[](int i)//不使用用引用时,也可以尝试下
{
return v[i];//v是指针,指向的位置只能用[],不能用()
}
double vector::find(int i)
{
return v[i];
}
void main()
{
vector c(5);
vector a(9);
/*补充说明,当将下标的返回值类型指定为某个类的对象引用,从而可以
将该下标表达式写在赋值号的左边,即可以作为左值表达式*/
c[1]=19;//隐式
cout<<c[1]<<endl;
c.operator[](3)=110;//显式赋值
cout<<c.operator[](3)<<endl;//显式调用输出
a[0]=c[1]+1;
cout<<a[0]<<endl;
cout<<c.find(3)<<endl;
cout<<a.find(0)<<endl;
}
- 面向对象的程序设计学习笔记-10-[]下标运算符的重载-part1
- 面向对象的程序设计-8-运算符的重载-part1
- 面向对象的程序设计-10-()的运算符重载
- 面向对象与C++程序设计-运算符重载学习笔记
- 面向对象的程序设计-8-运算符重载-part2
- 面向对象的程序设计-8-运算符重载-part3
- 面向对象的程序设计-9-赋值运算符重载
- C++面向对象程序设计(谭浩强)阅读笔记3——关于运算符的重载
- MOOC清华《面向对象程序设计》第3章:下标运算符重载实验
- 下标运算符的重载
- 面向对象的程序设计-12-类型转换和运算符重载的实例
- 【面向对象程序设计常见面试题】运算符重载的三种方式?(7)
- c++下标运算符的重载
- 下标的使用和运算符重载
- 面向对象的程序设计学习笔记-2
- 【学习笔记】面向对象的程序设计
- 面向对象的程序设计-5-多态性和虚函数-part1
- 面向对象程序设计上机练习十(运算符重载)
- centos openoffice 文档转换命令
- 程序员需要了解的一点组织行为学知识
- 堆内存栈内存详解
- DataStage实践之简单入门
- ECShop全版本注入0day及修复
- 面向对象的程序设计学习笔记-10-[]下标运算符的重载-part1
- 用freeswitch建立呼叫中心系统的经验
- Android.mk简介
- DataStage(ETL)技术总结-介绍篇
- Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节
- JS实现IE下打印和打印预览
- Visual C++ TinyXml快速入门(三)
- 快速排序算法
- user_stack对应堆栈内容