下面是自己编写的一个例子

#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++成员运算符的重载相关推荐

  1. C++——运算符的重载---以成员函数方式重载---以友元函数方式重载

    一.运算符的重载 1.运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载.运算符仅仅是语法上的方便,它是另一种函 ...

  2. C++:运算符重载函数之成员运算符重载函数

    5.2.3 成员运算符重载函数 在C++中可以把运算符重载函数定义为某个类的成员函数,称之为成员运算符重载函数. 1. 定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式 ...

  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)成员运算符

    成员运算符分为两种: 解引用运算符* 箭头运算符-> 设计准则 箭头运算符必须是类的成员. 解引用运算符通常也是类的成员,尽管并非必须如此. 重载的箭头运算符必须返回类的指针或者自定义了箭头运算 ...

  4. 详解C++中的函数调用和下标以及成员访问运算符的重载

    http://www.jb51.net/article/78436.htm 这篇文章主要介绍了详解C++中的函数调用和下标以及成员访问运算符,讲到了这些二元运算符使用的语法及重载,需要的朋友可以参考下 ...

  5. c++工作笔记002---C++ 类成员访问运算符 - 的重载

    技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 不太明白这个,记录一下... C++ 类成员访问运算符 -> 重载  C++ 重载运算符和重载函数 类成员访问运算 ...

  6. C++细节 输出运算符的重载为什么不写成类的成员函数

    打印类中的一些变量,此时就需要使用函数或者重载,为了提高代码可读性,一般使用操作符重载来书写,而cout并不在c++的默认类成员函数中,需要我们自己书写.第一种写在类中如下面的代码(我们以日期类举例, ...

  7. 运算符重载之成员运算符重载

    成员运算符重载函数 成员运算符重载函数,即把运算符重载函数定义为某个类的成员函数. 1.定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式如下: 函数类型 operato ...

  8. C++知识点43——解引用运算符和箭头运算符的重载及智能指针类的实现

    一.概念. 在自定义行为类似指针的类时,需要重载*和->.C++中的智能指针就重载了这两个运算符.->必须是成员函数,*也应该是成员函数.与内置类型保持一致,这两个函数通常都是const的 ...

  9. C++知识点42——下标运算符[]的重载及string类的实现

    一.下标运算符的重载 1.概念 如果一个类表示容器,那么要重载下标运算符[],下标运算符必须是成员函数.下表访问运算符通常要有一个const版本和一个非const版本.如果不定义const版本,那么c ...

最新文章

  1. 【前端】react and redux教程学习实践,浅显易懂的实践学习方法。
  2. LeetCode Max Points on a Line
  3. 多态的实现(重载,虚方法,抽象类,接口)
  4. MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用
  5. js 单引号和双引号的使用注意事项
  6. 03 | AOF 日志:宕机了, Redis 如何避免数据丢失?
  7. android: 记录及回复lisView的位置
  8. 【opencv】人脸检测(图片实时)
  9. html密码字段语法,HTML input 标签的 type 属性
  10. 【转载】Linux安装nginx
  11. 视频质量,分辨率,码率之间的关系 2
  12. Windows登录密码轻松破解
  13. sql 随机函数newid()
  14. 数字图像处理实验一 直方图均衡化与直方图规定化
  15. java基础考试_Java基础试题及其答案
  16. 访问其他计算机被拒绝,对端口com1的访问被拒绝的解决方案
  17. Vue动态渲染本地图片
  18. buildroot制作树莓派CM3的系统
  19. 前端,移动端开发框架
  20. 购买新款macbook pro,现在买还是等双十一?

热门文章

  1. TeeChart中 Line的Clear方法
  2. var和dynamic的区别及如何正确使用dynamic ?
  3. F - 娜娜梦游仙境系列——多民族王国
  4. 老生常谈:装饰者模式
  5. C# 系统应用之清除Cookies、IE临时文件、历史记录
  6. iOS之深入解析CFRunloop的多线程隐患
  7. 733. Flood Fill 图像渲染
  8. BASIC-12 十六进制转八进制
  9. 【机器视觉】 until算子
  10. 【嵌入式】Libmodbus源码分析(一)-类型和结构体