Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
#1

Иерархия классов в многофайловом проекте - C++

21.11.2013, 21:20. Просмотров 342. Ответов 4
Метки нет (Все метки)

Всем привет. Есть проблема с созданием программы. Должна быть небольшая иерархия классов, и все классы должны быть описаны в паре .h и .cpp файликов. Сделал иерархию, порозкидал все по файликах. В main подключил все .h файлики. При попытке скомпилировать выдает пару ошибок типа: "переопределение типа class", "не определен базовый класс".
Вот сам проект.
0
Вложения
Тип файла: 7z prosto_kursova.7z (1.48 Мб, 6 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 21:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Иерархия классов в многофайловом проекте (C++):

Struct в многофайловом проекте - C++
Если в main файле создать структуру, то как её использовать в функциях, которые в других cpp файлах? Структуру требуется объявить в...

Ошибка LNK2019 в многофайловом проекте - C++
Смысл: Мне нужно создать абстрактный класс контейнер, на его основе конкретные классы, далее создать абстрактный класс итератор и для...

Ошибка линковки в многофайловом проекте - C++
что за на??? в проекте 3 модуля: main.cpp, test.cpp, test.h, в main.cpp и test.cpp подключен test.h, в test.h одна единственная функция int...

Вывод в файл *.txt в многофайловом проекте - C++
Нужно перенаправить cout в файл. Я выводил в информацию в файл просто с помощью добавления такого вот кусочка кода: #include <fstream> ...

Как избавиться от глобальных переменных в многофайловом проекте на С++? - C++
Некоторые глобальные переменные можно заменить на глобальные константы. Долго промучилась с проектом, но на попытках избавления от...

Разделение класса со статической переменной в многофайловом проекте - C++
На ровном месте происходят какие-то непонятные чудеса, как будто бы я шаблонный класс объявляю - если реализация класса находится в...

4
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
21.11.2013, 21:37 #2
Цитата Сообщение от o33ik Посмотреть сообщение
В main подключил все .h файлики.
директивы #include guards нужны

C++
1
2
3
4
5
6
7
8
9
10
#ifndef CAR_H
 #define CAR_H
#include "Vehicle.h";
 
class Cars: public Vehicle
{
protected: 
    std::string WD_type;
};
#endif
Добавлено через 44 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef VEHICLE_H
 #define VEHICLE_H
 
#include <string>;
#include <iostream>;
#include <iomanip>;
class Vehicle
{
protected:
    std::string brand;
    std::string model;
    std::string engine_type;
    float engine_volume;
    int cylinders_number;
    std::string fuel_type;
    std::string cylinders_configuration;
    std::string transmission_type;
    std::string color;
    int full_weight;
    int weight;
    int gears;
public:
    virtual void input() =0;
    virtual void edit() = 0;
    virtual void output() = 0;
};
#endif
Добавлено через 22 секунды
Скомпилировалось
1
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
21.11.2013, 21:49  [ТС] #3
MrCold, теперь работает. спасибо
0
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
21.11.2013, 21:57  [ТС] #4
так, а как теперь создавать объекты етих класов? У меня такие ошибки:
0
Миниатюры
Иерархия классов в многофайловом проекте  
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
21.11.2013, 22:14 #5
o33ik, Некоторые методы просмотрите. У вас объявления методов в заголовочных файлах есть
а в .СРР определений методов нет
Moto.H
C++
1
2
3
4
5
6
7
8
9
#include "Vehicle.h";
 
class Moto:public Vehicle
{
public:
    void input();
    void edit(); <--  есть 
    void output();
};
А в Мото.СРР описания void Мото::edit() нет
ну и тд
1
21.11.2013, 22:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 22:14
Привет! Вот еще темы с ответами:

Ошибка при работе с шаблонами в многофайловом проекте - C++
Цель проста - пишу класс очереди, используя шаблоны. Возниает следующая ошибка: ||=== Build: Debug in Queue (compiler: GNU GCC Compiler)...

Определение метода вне класса, как inline в многофайловом проекте - C++
Здравствуйте! Помогите разобраться!) В общем имеется: ...

иерархия классов - C++
нашол иерархию клиент-авиакомпания вот она #include&lt;iostream.h&gt; #include&lt;string.h&gt; char newline; class con{ char...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru