C++重载函数的使用:写一个空间的结构体struct Vertex,包括x,y,z三个数据 写一个

C++重载函数的使用:写一个空间的结构体struct Vertex,包括x,y,z三个数据
写一个Add函数,实现两个整数的加法
写一个Add函数,实现两个空间点的加法
写一个Add函数,实现一组空间点的加法
写一个主函数,测试以上3个函数

第1个回答  2016-03-25
看看这个怎么样
typedef struct {
int x;
int y;
int z;
}Vertex;

void Add(int &c, const int &a, const int &b)
{
c = a + b;
}

void Add(Vertex &c, const Vertex &a, const Vertex &b)
{
c.x = a.x + b.x;
c.y = a.y + b.y;
c.z = a.z + b.z;
}

void Add(Vertex &c, const Vertex a[], const int &max)
{
for (int i = 0; i < max; ++i) {
c.x += a[i].x ;
c.y += a[i].y;
c.z += a[i].z;
}
}追问

谢谢你~我可以问一下,就是它说的 空间点是什么意思?我不太明白,是指空间中的点(x,y,z)吗?两个空间点跟一组空间点有什么区别?

谢谢你~

追答

你可以把结构体的三个变量,当成空间三维轴的三个点,这样空间的一个点就可以用一个结构体来体现了,这样明白了吧。

追问

哦~原来如此,谢谢你!!!

本回答被提问者和网友采纳
第2个回答  2016-03-25
这个简单追问

……

...定义一个关于空间点的结构体,它包含了点的3个坐标值,编写一个函数...
1、首先我们找到头文件与main函数之间。2、写上,我们的第一个关键字【struct】。3、然后我们对该结构体进行命名。4、在里面,我们便可以编写他的成员。5、可以编写数组也可以是普通变量。6、书写完毕后,我们一定要用分号结束。

C++,用到struct和容器,vector以及find的使用
find函数实质上是将第三个参数(int)与容器中的每一个元素(Struct)执行==运算的。你那个Struct(实际上是类)显然没有重载这种条件下的==运算符,所以才报错。可以参考我写的代码。struct Student{string name;int ID;int age;bool operator == (const int & i);\/\/这个参数的类型必须和find函数...

C++函数重载的编译后的一个奇怪的问题
Function1@@YGHPADK@Z”,而对于函数声明: void Function2(); 其函数修饰名则为“?Function2@@YGXXZ” 。 对于C++的类成员函数(其调用方式是thiscall),函数的名字修饰与非成员的C++函数稍有不同,首先就是在函数名字和参数表之间插入以“@”字符引导的类名;其次是参数表的开始标识不同,公...

c++中结构体怎么用cin 整体 输入?
假设你的结构体是T,定义为 struct T { int x,y,z;};那么写重载函数 friend istream & operator >>(istream& i, T &v){ i >> v.x ;i >> v.y ;i >> v.z ;return i ;} 在主函数中就可以使用cin来输入结构体了

用结构体类型编写一个程序,输入一个学生的学号、姓名、及3门课的成绩...
include "stdio.h"void main(){ struct Student{ char id[10];char name[10];int score;} stu = {"001", "Sam", 80};printf("%s\\t%s\\t%d", stu.id, stu.name, stu.score);}

C++语言,这构造函数哪错了?一个二维数组,元素是结构体,为何通不过编译...
Graph(const int vertexNum){ for (int i = 0; i < vertexNum; ++i){ vector<Vertex> tmp;tmp.push_back(vertexNum);adj.push_back((tmp)); \/\/你要的是一个vector,所以需要先构造出来,他不支持你之前的写法,因为没有对应的构造函数,但是对于复杂类型,目前的写法你要极其小心 } } ...

C++结构体继承和结构体内函数的问题
EIGEN_ALIGN16 这窜标识符应该是定义在某处的宏,目的估计是声明变量或者结构体16位对齐。一般编译器都有相应的编译器扩展来指定对齐方式,他这里用宏而不是直接使用编译器指令是为了能在不同的编译器下使用不同的对齐指令!指定合适的对齐方式在某些平台和实现上可以提高性能,而且有些平台甚至有严格的...

求教c++大神定义一个学生结构体数组
struct student { char name[32];char sex[4];float score;};

如何在C++建造一个结构体struct point{} 存放四个点的坐标(x,y) 并...
include<cmath> struct S_Point { int x;int y;} class Point { private:S_Point p;public:Point(int x,int y);void GetPx(){return p.x} void GetPy(){return p.y} int CalDistance(Point & pt);} Point::Point(int x,int y){ p.x=x;p.y=y;} int Point:: CalDistance(...

C++ 多个函数参数问题
vfprintf()这个函数很重要,光从名字上看就知道它与经常使用的printf()函数有很大的关联。它有多个重载版本,这里讲解最常用的一种:函数原型 int vfprintf(FILE *stream,const char *format,va_list argptr );第一个参数为一个FILE指针。FILE结构在C语言的读写文件必不可少。要对屏幕输出传入stdout...

相似回答