⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16-7.txt

📁 《C/C++完美演绎》源代码
💻 TXT
字号:
/* 范例:16-7 */
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#define Max 6   // 定义类animal中最大的字符串个数
class animal
{
  public:
    animal(string ptr[])
    {
      for(int i=0;i<Max;i++)
        ani_name[i] = ptr[i];
    }
    string ani_name[Max]; 	// #1 定义 Max 个字符串指针
    string& operator[](int tmp);
    int operator()(int tmp);
};

string& animal::operator[](int tmp)
{
  return (ani_name[tmp]); 	// #2 返回tmp索引指定的字符串值
}
int animal::operator()(int tmp)
{
  return (ani_name[tmp]).length();	// #7.1 取得该字符串长度
}

void main(void)
{
  string str[]= {"elephant","deer","hog","giraffe","tiger","gibbon"};
  animal a(str);	// #3 传入数组起始地址

  cout << "...列出动物成员的名字...\n";
  for(int i=0;i<Max;i++)
    cout << setw(15) << right << a[i] << endl;	// # 4 宽度15,靠右
  a[3] = "eagle";	// #5 变更a[3]值
  cout << "变更后a[3]=" << a[3] << endl;	// # 6
  cout << "a[2]=" << a[2] << endl;
  cout << "a(2)=" << a(2) << endl;	// #7.2
  getchar();
}

程序执行结果:
...列出动物成员的名字...
	elephant
	deer
	hog
	giraffe
	tiger
	gibbon
变更后a[3]=eagle
a[2]=hog
a(2)=3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -