C++中的重载下标运算符[]
-
C++规定,下标运算符[]必须以成员函数的形式进行重载,该重载函数在类中的声明格式如下面两种方式:
1. 返回值类型& operator[] (参数列表); // 或者 2. const 返回值类型 & operator[] (参数列表) const; 1. 使用第一种声明方式,[]不仅可以访问元素,还可以修改元素。 2. 使用第二种声明方式,[]只能访问而不能修改元素。在实际开发中,应该同时提供以上两种形式。 3. 这样做是为了适应const对象,因为通过const对象只能调用const成员函数,如果不提供第二种形式,那么将无法访问const 对象的任何元素。
实例
Boy.h
#pragma once
#include <string>
using namespace std;
class Boy{
public:
Boy