1、实体、对象与类的概念 2、类的定义 3、对象声明与引用 4、私有、公有与保护
5、日期类的设计 6、两种程序设计思想 7、汽车类的设计 8、几何图形圆类的设计
9、构造函数的定义 10、重载构造函数 11、析构函数的定义 12、整数翻译函数
13、实际意义的析构函数 14、Person类的设计 15、对象与指针 16、this指针
1
机器人的特征
姓名
型号
整数:待翻译的整数
翻译的英文句子字符串:字符指针,句子有长有短
……
机器人的功能
翻译整数函数:形成英文字符串,并将字符串指针返回
构造函数
设置函数
输出英文句子函数
析构函数
……
class robot
{
char name[20]; //机器人姓名
char type[20]; //机器人型号
int num; //待翻译的整数
char *ps; //指向英文字符串
public:
robot()//构造函数
{ strcpy(name,"XXXXXX");
strcpy(type,"XXXXXX");
num=0;
ps=new char[5];
strcpy(ps,"zero");
}
void set(char n[],char t[],int m); //设置修改数据
char *out(int a);//英文中每三位数读法相同,所以定义out函数翻译小于1000的整数
char *tran_int(int n);//将1至1999999999的整数翻译成英文句子
void print_num();//输出整数及其英文句子
~robot(){ delete [ ] ps; }; //析构函数释放构造函数和set函数中动态申请的空间
};
//英文中每三位数读法相同,所以定义out函数对每组三位数进行处理
char *robot::out(int a)
{ char k[1000]="";
int b=a%100;
//若百位不为零,输出百位数加hundred ,若此时十位个位均为,不加and
if(a/100!=0)
{ strcat(k,num1[a/100]);
strcat(k,"hundred ");
if(b!=0)
strcat(k,"and ");
}
//当后两位在以内时,直接调用num1[n] ,输出
if(b<20)
strcat(k,num1[b]);
//当后两位大于时
else
{ //先调用num10 ,输出十位数
strcat(k,num10[b/10]);
//个位不为时应输出"-"个位数
if(b%10!=0)
本文深入探讨了面向对象编程的核心概念,包括实体、对象和类的定义,以及类的构造和析构函数。通过实例,如日期类、汽车类和几何图形圆类的设计,阐述了类的声明、对象的引用以及访问控制(私有、公有与保护)。文章还介绍了如何设计一个功能完善的机器人类,包括翻译整数、设置和输出功能,并详细解析了析构函数的作用。此外,还讨论了两种程序设计思想——结构化和面向对象编程。


被折叠的 条评论
为什么被折叠?



