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,其他的类似。不好意思,犯错了。
展开
 我来答
云林之盟
2013-06-28 · 涵盖汽车、软件、医学等全方位知识体系
云林之盟
采纳数:166 获赞数:523

向TA提问 私信TA
展开全部
下面这个函数相当于初始化一个结构体的意思。
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的构造函数。
结构体貌似没有构造函数和析构函数的,不过可以在里面写函数。一般建议使用 “类” 来完成构造和析构函数,以及其他完成对应功能的函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2013-06-28 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5731万
展开全部
可以理解成 函数返回一个结构。
#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. 所以 结构可以有成员函数,构建函数。其实那样做,让人不易理解。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjfaok
2013-06-28 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1625万
展开全部
印象中long是C和C++的一个关键词,不能用它作为结构体的名称……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式