📄 16-7.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 + -