вызов отдельных файлов cpp для main (пожалуйста, потерпите меня)

0

Мне нужна серьезная помощь в назначении.

Создайте класс Integer, а другой - Double. Эти классы должны иметь отдельный заголовок и.cpp файл

Для того чтобы вы были успешными, вам нужно будет определить, из чего состоит раздел данных класса. Каждый из этих классов должен иметь следующие функции (методы) равно - это функция функции void, которая устанавливает значение объекта. Например, экземпляр Double должен установить двойное значение

Double d;

d.equals(12.34);

Добавить

суб

мул

ДИВ

Каждая из этих функций должна принимать свой тип в качестве аргумента и возвращать то же самое. Например, Double должно работать на парном разряде, Integer должен работать с целыми

Класс Integer должен иметь функцию, называемую

toInt

Возвращает примитивное целое число. В принципе, это раздел данных, который возвращается.

Класс Double должен иметь функцию, называемую

toDouble 

Что возвращает примитивный двойной

В вашей основной функции напишите код для проверки экземпляра ваших классов

теперь у меня есть несколько вопросов. Мне жаль, если это кажется... ну, глупо, но я относительно новичок в C++, и мне трудно понять, что я должен делать, и как это сделать. конечно, я не ищу, чтобы кто-то выполнял задание для меня, я хочу научиться делать это самостоятельно, но я понимаю, что мне нужна помощь.

из того, что я собираюсь, задание спрашивает, что я создаю два файла cpp, один из которых демонстрирует целое число и другой double, и мне нужно затем вызвать файлы в основном.

однако, я чувствую, что что-то не совсем щелкает. Я не могу назвать файлы cpp основным, и на самом деле это первый раз, когда я работал с несколькими файлами 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.

Кто-нибудь знает, что происходит?

  • 1
    У тебя как все это делается в одном файле?
  • 2
    Почему бы не прочитать stackoverflow.com/questions/6995572/… а также примечания к курсу
Показать ещё 4 комментария
Теги:

3 ответа

0

ToDouble() должен возвращать тип. В этом случае вы хотите вернуть двойной тип. Ваш DoubClass должен выглядеть так:

class DoubClass {
public:
    double toDouble();

};

Ваша реализация должна выглядеть так:

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

Надеюсь, это поможет.

Редактировать: Я думаю, я не должен предполагать, что вопрос новый, потому что он на первой странице... О, хорошо.

0

Создайте файлы заголовков с помощью прямого объявления классов Double и Integer. Вы можете либо поместить оба класса в один заголовок, либо создать два файла заголовка. Как только вы сделаете это в своем основном файле;

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

для ex; если заголовок и главная часть находятся в одной папке

#include "./header1.cpp"

если заголовок находится в отдельной папке "head" в той же папке, что и главная

#include "./head/header1.cpp"

аналогично папке над папкой с основным

 #include "../head/header1.cpp"
 #include "../header1.cpp"

Я предполагаю, что вы будете использовать один заголовок, просто добавьте еще один include для другого файла заголовка.

  • 0
    Спасибо, это действительно полезно, я думаю, у меня уже есть это :)
  • 0
    нет необходимости писать «./header», потому что имена в речевых метках будут искать из текущего исходного каталога.
Показать ещё 1 комментарий
0

Напишите заголовочный файл (или два) с классами, определенными в, реализуйте методы класса в отдельных файлах cpp, а затем в main.cpp просто включите заголовок (ы), и вы сможете получить доступ к классам и методам.

  • 0
    Спасибо! извините за поздний ответ, но спасибо, это все проясняет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню