c++成员运算符的重载
下面是自己编写的一个例子
#include <string>
#include <iostream>
#include <memory>
using namespace std;class B
{public:B() = default;B(const string &str):arr({"sss1","sss2","sss3","sss4"}),curr(0){}string & operator*(){return arr[curr];}string * operator->(){return & this->operator*(); }private:size_t curr = 0;string arr[100] = {"str1","str2","str3","str4"};
};class A
{public:A() = default;A(const string & str){for(int i = 0;i != 100; ++i){bind[i] = B("ok"); }}B& operator*(){return bind[curr];}B& operator->(){return operator*();//这里因为operator*返回对象}private:size_t curr = 0;B bind[100];
};int main()
{
A a;
cout << a->size() << endl;return 0;
}
c++成员运算符的重载相关推荐
- C++——运算符的重载---以成员函数方式重载---以友元函数方式重载
一.运算符的重载 1.运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载.运算符仅仅是语法上的方便,它是另一种函 ...
- C++:运算符重载函数之成员运算符重载函数
5.2.3 成员运算符重载函数 在C++中可以把运算符重载函数定义为某个类的成员函数,称之为成员运算符重载函数. 1. 定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式 ...
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)成员运算符
成员运算符分为两种: 解引用运算符* 箭头运算符-> 设计准则 箭头运算符必须是类的成员. 解引用运算符通常也是类的成员,尽管并非必须如此. 重载的箭头运算符必须返回类的指针或者自定义了箭头运算 ...
- 详解C++中的函数调用和下标以及成员访问运算符的重载
http://www.jb51.net/article/78436.htm 这篇文章主要介绍了详解C++中的函数调用和下标以及成员访问运算符,讲到了这些二元运算符使用的语法及重载,需要的朋友可以参考下 ...
- c++工作笔记002---C++ 类成员访问运算符 - 的重载
技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 不太明白这个,记录一下... C++ 类成员访问运算符 -> 重载 C++ 重载运算符和重载函数 类成员访问运算 ...
- C++细节 输出运算符的重载为什么不写成类的成员函数
打印类中的一些变量,此时就需要使用函数或者重载,为了提高代码可读性,一般使用操作符重载来书写,而cout并不在c++的默认类成员函数中,需要我们自己书写.第一种写在类中如下面的代码(我们以日期类举例, ...
- 运算符重载之成员运算符重载
成员运算符重载函数 成员运算符重载函数,即把运算符重载函数定义为某个类的成员函数. 1.定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式如下: 函数类型 operato ...
- C++知识点43——解引用运算符和箭头运算符的重载及智能指针类的实现
一.概念. 在自定义行为类似指针的类时,需要重载*和->.C++中的智能指针就重载了这两个运算符.->必须是成员函数,*也应该是成员函数.与内置类型保持一致,这两个函数通常都是const的 ...
- C++知识点42——下标运算符[]的重载及string类的实现
一.下标运算符的重载 1.概念 如果一个类表示容器,那么要重载下标运算符[],下标运算符必须是成员函数.下表访问运算符通常要有一个const版本和一个非const版本.如果不定义const版本,那么c ...
最新文章
- 【前端】react and redux教程学习实践,浅显易懂的实践学习方法。
- LeetCode Max Points on a Line
- 多态的实现(重载,虚方法,抽象类,接口)
- MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用
- js 单引号和双引号的使用注意事项
- 03 | AOF 日志:宕机了, Redis 如何避免数据丢失?
- android: 记录及回复lisView的位置
- 【opencv】人脸检测(图片实时)
- html密码字段语法,HTML input 标签的 type 属性
- 【转载】Linux安装nginx
- 视频质量,分辨率,码率之间的关系 2
- Windows登录密码轻松破解
- sql 随机函数newid()
- 数字图像处理实验一 直方图均衡化与直方图规定化
- java基础考试_Java基础试题及其答案
- 访问其他计算机被拒绝,对端口com1的访问被拒绝的解决方案
- Vue动态渲染本地图片
- buildroot制作树莓派CM3的系统
- 前端,移动端开发框架
- 购买新款macbook pro,现在买还是等双十一?