C++结体中怎样声明和定义一个函数?用下面解释给我听,谢谢。
例如:........................structlong{inta;intb;intc;intd;};longmaim(int1a,int1b,int1...
例如 :............
............
struct long
{int a;
int b;
int c;
int d;
} ;
long maim(int 1a,int 1b,int 1c,int 1d) //从这里开始我就不明白了
{long tmp;
tmp.a=1a;
tmp.b=1b;
tmp.c=1c;
tmp.d=1d;
return tmp;
}
double GetArea(long rect )
{return fabs(rect.c-rect.a)*(rect.d-rect.b);
}
int main()
{...............
}
上面的1a改为a1,其他的类似。不好意思,犯错了。 展开
............
struct long
{int a;
int b;
int c;
int d;
} ;
long maim(int 1a,int 1b,int 1c,int 1d) //从这里开始我就不明白了
{long tmp;
tmp.a=1a;
tmp.b=1b;
tmp.c=1c;
tmp.d=1d;
return tmp;
}
double GetArea(long rect )
{return fabs(rect.c-rect.a)*(rect.d-rect.b);
}
int main()
{...............
}
上面的1a改为a1,其他的类似。不好意思,犯错了。 展开
3个回答
展开全部
下面这个函数相当于初始化一个结构体的意思。
long maim(int 1a,int 1b,int 1c,int 1d)
{long tmp;
tmp.a=1a;
tmp.b=1b;
tmp.c=1c;
tmp.d=1d;
return tmp;
}
long maim(int 1a,int 1b,int 1c,int 1d)
{long tmp;
tmp.a=1a;
tmp.b=1b;
tmp.c=1c;
tmp.d=1d;
return tmp;
}
更多追问追答
追问
那long maim是什么来的?你可以说说结构 的构造函数和析构函数吗?
追答
上面这个long maim()就相当于结构体long的构造函数。
结构体貌似没有构造函数和析构函数的,不过可以在里面写函数。一般建议使用 “类” 来完成构造和析构函数,以及其他完成对应功能的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以理解成 函数返回一个结构。
#include<stdio.h>
#include<stdlib.h>
struct L {int a,b,c,d;}; //结构
struct L maim(int a1,int b1,int c1,int d1){
struct L tmp;
tmp.a=a1;tmp.b=b1;tmp.c=c1;tmp.d=d1;
return tmp; //函数返回一个结构
}
main(){
struct L x; // 声明x是一个 L 型结构
x=maim(1,2,3,4); // 函数调用返回一个结构
printf("%d",x.d);
return 0;
}
也可理解成c++ class 里的构建 函数。
不要用 long 作变量名。可改成 L.
#include<stdio.h>
#include<stdlib.h>
struct L {int a,b,c,d;}; //结构
struct L maim(int a1,int b1,int c1,int d1){
struct L tmp;
tmp.a=a1;tmp.b=b1;tmp.c=c1;tmp.d=d1;
return tmp; //函数返回一个结构
}
main(){
struct L x; // 声明x是一个 L 型结构
x=maim(1,2,3,4); // 函数调用返回一个结构
printf("%d",x.d);
return 0;
}
也可理解成c++ class 里的构建 函数。
不要用 long 作变量名。可改成 L.
追问
如果这里用到C++的话,是不是从第五行开始,凡是出现struct字眼的都把它t给去掉?
追答
C++ 里,你可以照C的样子写。并非一定要去掉struct。
C++ 扩展了,把 去掉的那种 (结构) 处理成 class. 所以 结构可以有成员函数,构建函数。其实那样做,让人不易理解。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
印象中long是C和C++的一个关键词,不能用它作为结构体的名称……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询