我有3个文件,分别是作业需要的1个main.cpp,1 Point.cpp和1 Point.h。 问题:问两个整数,先保存在struct-object中,然后输出最高的数字:main.cpp

#include <iostream>
#include "Uebung8_1.h"
using std::cout;
using std::cin;
int main(){
int z;
int r;
cout << "Enter x: " << "\n";
cin >> z;
cout << "Enter y: " << "\n";
cin >> r;
Point point;
point.x = z;
point.y = r;

if (point.simsalabim(point.x, point.y) != true){
    int h = point.y;
    point.y = point.x;
    point.x = h;
}
cout << "\n" << point.x <<"\n" << point.y;

return 0;
}

Point.cpp

struct Point{
int x;
int y;
bool simsalabim(int x, int y){
    if (x >= y){
        return true;
    }
    else{
        return false;
    }

}
};

Point.h

struct Point{ int x; int y; bool simsalabim(int x, int y);};

该代码可以正常工作,而无需声明(和使用)simsalabim,该声明应确定x是否小于y。 我认为问题出在标题中,但是请记住,我应该使用程序的这种结构,并且不能完全决定它的外观。 它看起来应该像这样。 你能帮我做这份工作吗?

提前Thx

#1楼 票数:1

我认为Point.cpp应该看起来更像

#include "Point.h"

bool Point::simsalabim(int x, int y){
    return x >= y;

}

#2楼 票数:0

您应该将simsalabim更改为:

struct Point{
   int x;
   int y;
   bool simsalabim(){
      return (x >= y);
   }
};

并更改其调用方式:

if (point.simsalabim() != true){
    int h = point.y;
    point.y = point.x;
    point.x = h;
}

在Point.cpp中,不要再次包含类声明。 仅具有成员函数定义。

Point.h:

struct Point{
   int x;
   int y;
   bool simsalabim();
};

Point.cc:

#include "Point.h"

bool Point::simsalabim(){
   return (x >= y);
}

  ask by Nuke translate from so

未解决问题?本站智能推荐:

1回复

C-想要将struct类型的函数放在单独的.c文件中

所以我有一个带有结构和一堆函数的代码,我想将这些函数(至少)放在一个单独的.c文件中。 但是,当我这样做时,它将不再识别我拥有的结构卡类型。 我该怎么办?
1回复

何在标头中声明结构中的重载运算符? [重复]

这个问题已经在这里有了答案: 为什么只能在头文件中实现模板? 16个答案 我有一个操作员模板类型的结构。 要在标题中正确声明此结构。 编写以下代码 头文件 .cpp文件 但是编译时出现以下错误: error: prototype fo
2回复

在标头C ++中声明结构

我正在尝试使用一种结构来从函数中输出两个值,然后在主体中使用它。 我正在使用头文件来调用要使用的函数。 代码正在编译,但是我得到的值不正确。 我不知道我是在.h文件中声明结构正确还是在错误使用地方。 目前,我的.h文件如下所示: 我的.cpp(不是主要文件)的一部分看起来像:
1回复

C ++中的Struct错误

尝试在C ++(Visual Studio)中执行此操作时,结构出现问题: 备忘录 Visual Studio C ++给我这个错误: 1> memoria.cpp(75):错误C2065:'writeRAMBankEnable':未声明的标识符 1> me
1回复

函数的冲突类型错误(C 编程)

C源文件: 头文件: 主c文件: 该错误仅针对 writePixelsBMP 和 readPixelsBMP 显示,我尝试在头文件、主文件、源文件的开头声明它们,但没有任何效果。 我很困惑,请帮忙。 另外,如果您有时间,请检查我的 readPixelsBMP 是否可以完成从 bmp 文
2回复

检查另一个文件中的函数的标头中定义的值

我有一个头文件(head.h),在其中定义了布尔值: 在main.c中,我有一个函数: 即使main.c以以下行开头,也无法识别布尔值“标志”: ...为什么?
2回复

多个文件使用的头文件中的struct声明会导致架构x86_64 [duplicate]的重复符号

这个问题在这里已有答案: 重复符号错误C ++ 4答案 即使我在所有头文件中都包含了头部保护,当我创建头文件PointXYZRGBAI.h并将其包含在LidarFile.cpp和core.cpp中时,会生成错误 和错误似乎抱怨的标题是 我在头文件定义
1回复

头文件中定义的枚举类在位于另一个头文件中的结构中不起作用? C++

SomeHeader.h: 另一个头文件 引发错误: C3646“类型”:未知覆盖说明符 编辑:似乎没有人知道原因,所以我留下了可能不相关的其他信息: TypeEnum 在我的真实代码中有 33 个元素 它位于头文件的顶部 在其他标题中一切正常 使用 TypeEnum 的 A