大家过来帮下忙啊,小弟有个小小的问题

pipi851160 2007-05-08 05:09:42
定义一个"数据类型" datatype类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。


解:
#include <iostream.h>

class datatype{
enum{
character,
integer,
floating_point
} vartype;
union
{
char c;
int i;
float f;
};
public:
datatype(char ch) {
vartype = character;
c = ch;
}
datatype(int ii) {
vartype = integer;
i = ii;
}
datatype(float ff) {
vartype = floating_point;
f = ff;
}
void print();
};

void datatype::print() {
switch (vartype) {
case character:
cout << "字符型: " << c << endl;
break;
case integer:
cout << "整型: " << i << endl;
break;
case floating_point:
cout << "浮点型: " << f << endl;
break;
}
}

void main() {
datatype A('c'), B(12), C(1.44F);
A.print();
B.print();
C.print();
}

程序运行输出:
字符型: c
整型: 12
浮点型: 1.44


我想问的是,这个vartype函数放在里面是做什么的?它跟枚举类型是怎么联系在一起的?谢谢


...全文
204 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipi851160 2007-05-08
  • 打赏
  • 举报
回复
非常感谢大家!!!谢谢
pubb1986 2007-05-08
  • 打赏
  • 举报
回复
vartype中的character,integer,floating_point对应着0,1,2
你可以通过外部调用datatype函数为i进行赋值,再使用print方法通过switch--case判断你输入的是什么类型并进行输出
chenyi3315 2007-05-08
  • 打赏
  • 举报
回复
vartype不是函数,而是枚举类型,
enum{
character,
integer,
floating_point
} vartype;

是用来确定输入的数据类型。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧