c++:Status问题(status是c++中的关键字吗?是一种数据类型吗?它有什么作用?)
//*******栈的实现**********////********JXN/10/10/23/****//#include<iostream.h>#include<co...
//*******栈的实现**********//
//********JXN/10/10/23/****//
#include<iostream.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdio.h>
#define NULL 0;
#define ERROR 0;
#define OK 1;
#define TRUE 1;
#define FALSE 0;
typedef int Status;
//*****栈的顺序存储结构****//
#define LIST_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef struct{
SElemType *top;
SElemType *base;
int stacksize;
}SqStack;
Status InitStack(SqStack &S) //构造
{
S.base=(SElemType*)malloc(LIST_INIT_SIZE*sizeof(SElemType));
if(!S.base) exit(0);
S.top=S.base;
S.stacksize=LIST_INIT_SIZE;
return OK;
}
这是我在网上看到的代码的一部分截取,
问题在最后一段构造函数那里,
这status是什么意思啊,
最后的返回值OK即为1,
为什么返回1呢?
返回值不是和类型相对应的吗? 展开
//********JXN/10/10/23/****//
#include<iostream.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdio.h>
#define NULL 0;
#define ERROR 0;
#define OK 1;
#define TRUE 1;
#define FALSE 0;
typedef int Status;
//*****栈的顺序存储结构****//
#define LIST_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef struct{
SElemType *top;
SElemType *base;
int stacksize;
}SqStack;
Status InitStack(SqStack &S) //构造
{
S.base=(SElemType*)malloc(LIST_INIT_SIZE*sizeof(SElemType));
if(!S.base) exit(0);
S.top=S.base;
S.stacksize=LIST_INIT_SIZE;
return OK;
}
这是我在网上看到的代码的一部分截取,
问题在最后一段构造函数那里,
这status是什么意思啊,
最后的返回值OK即为1,
为什么返回1呢?
返回值不是和类型相对应的吗? 展开
5个回答
展开全部
typedef int Status;重命名int为Status,见Status如int。
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
扩展资料:
工作原理:
C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
参考资料来源:百度百科-C++
展开全部
看:
typedef int Status;
这里是 Status 的定义。Status 其实就是 int 类型的别名的,它们是完全等价的!!!
而 ERROR = 0 , OK = 1, 它们的值都是整数,是可以赋值给 int 类型的,也就是可以赋值给 Status 的。
typedef int Status;
这里是 Status 的定义。Status 其实就是 int 类型的别名的,它们是完全等价的!!!
而 ERROR = 0 , OK = 1, 它们的值都是整数,是可以赋值给 int 类型的,也就是可以赋值给 Status 的。
追问
那么那个status我可以随便换成别的来代替?
比如typedef int ss;
下面就可以写作:
ss InitStack(SqStack &S) //构造
是这个意思吗?
追答
是的,就是这个意思。这样用别名,就是看着更直观。
因为你看到 Status,知道他的取值只会是 ERROR(=0),OK(1)(你使用正确的前提下);
而用如果用int,取的值 0 ,1,单单看值是不好看出意义的,这样就不直观了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看这句代码
typedef int Status;
意思Status就是int(typedef的用法)
typedef int Status;
意思Status就是int(typedef的用法)
追问
typedef是专门起别名用的?
追答
是给 类型 取别名,int你只知道是整型,Status
你就一眼知道是状态号的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef int status ; 就是相当给int重新取了名字
更多追问追答
追问
这样取别名有什么好处吗?
直接写int不是简单吗?
追答
跨平台呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef int Status;
重命名int为Status,见Status如int
重命名int为Status,见Status如int
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询