将单独的cpp文件调用为main(请耐心等待)

时间:2014-02-02 08:13:09

标签: c++

我需要认真帮助完成任务。

创建一个名为Integer的类,另一个名为Double。这些课应该有  单独的标题和.cpp文件

为了让您获得成功,您需要确定该数据部分 班级由。这些类中的每一个都应具有以下功能(方法) equals - 这是一个void函数函数,用于设置对象的值。例如, Double的一个实例应该设置一个double值

Double d;

d.equals(12.34);

添加

MUL

DIV

这些函数中的每一个都应该将其类型作为参数并返回相同的参数。对于 例如,Double应该使用双打,整数应该适用于整数

Integer类应该有一个名为

的函数
toInt

返回原始整数。基本上,这是返回的数据部分。

Double类应该有一个名为

的函数
toDouble 

返回原始双重

在你的主要函数中编写代码以测试类的实例

现在,我有几个问题。我很抱歉,好像,傻,但我对C ++相对较新,而且我很难理解我应该做什么,以及如何做到这一点。当然我不是在找任何人为我做任务,我确实想学习如何自己做,但我确实意识到我需要一些帮助。

从我收集的内容来看,作业要求我创建两个cpp文件,一个展示整数,另一个展示整数,然后我需要将文件调用到主文件。

但是,我觉得有些事情并没有完全点击。我似乎无法将cpp文件调用到main,这实际上是我第一次使用多个cpp文件,所以我很难理解从哪里开始。

再次,如果这看起来很傻,我道歉,但我真的可以使用一些帮助

我有最后一个问题。我只是在这段代码中找不到问题,我不知道它对我有什么要求。

    //main.cpp

#include <cstdlib>
#include <iostream>
#include "DoubClass.h"
#include "intClass.h"
using namespace std;

int main() {
    toDouble doubleObject;

    toInterger intergerObject; 
}

//DoubClass.h

#ifndef DOUBCLASS_H
#define DOUBCLASS_H

class DoubClass {
public:
    toDouble();

};

#endif  /* DOUBCLASS_H */

//DoubClass.cpp

#include <iostream>
#include "DoubClass.h"

using namespace std;

DoubClass::toDouble() {
        double Dn1 = 19.83; 
        double Dn2 = 28.74;

 cout << "The sum of " <<Dn1<< " and " <<Dn2<< " is " <<Dn1 + Dn2<< endl;
 cout << "The difference of " <<Dn1<< " and " <<Dn2<< " is " <<Dn1 - Dn2<< endl;
 cout << "The quotient of " <<Dn1<< " and " <<Dn2<< " is " <<Dn1 / Dn2<< endl;
 cout << "the product of " <<Dn1<< " and " <<Dn2<< " is " <<Dn1 * Dn2<< endl;
}

我得到的错误代码是

In file included from DoubClass.cpp:9:0:
DoubClass.h:13:14: error: ISO C++ forbids declaration of ‘toDouble’ with no type
DoubClass.cpp:13:21: error: ISO C++ forbids declaration of ‘toDouble’ with no type
make[2]: *** [build/Debug/Cygwin_4.x-Windows/DoubClass.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

我没有包含intClass(是的,我知道一个不是大写的,另一个是,我的错误),但它几乎完全相同,只是为了int而不是double。

有谁知道发生了什么事?

3 个答案:

答案 0 :(得分:0)

使用定义的类编写头文件(或两个),在单独的cpp文件中实现类方法,然后在main.cpp中包含头文件,您将能够访问类和方法

答案 1 :(得分:0)

使用Double和Integer类的前向声明创建头文件。您可以将两个类放在同一个标​​头中,也可以创建两个头文件。 一旦你在主文件中这样做了;

#include <iostream>
#include "path to header"

代表; 如果header和main在同一个文件夹中

#include "./header1.cpp"

如果标题位于与主

相同的文件夹中的单独文件夹“head”中
#include "./head/header1.cpp"

同样是带有主

的文件夹上方的文件夹
 #include "../head/header1.cpp"
 #include "../header1.cpp"

我假设您将使用单个标头,只需为另一个标头文件添加另一个包含。

答案 2 :(得分:0)

ToDouble()需要返回一个类型。在这种情况下,您希望返回double类型。你的DoubClass应该是这样的:

class DoubClass {
public:
    double toDouble();

};

您的实施应如下所示:

double DoubClass::toDouble() {
    ...
}

我希望有所帮助。

编辑:我想我不应该假设一个问题是新问题只是因为它在首页上......好吧。