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

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

Войти
Регистрация
Восстановить пароль
 
Капитан Техно
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 32
#1

ООР множественное определение конструктора - C++

29.01.2012, 14:11. Просмотров 629. Ответов 3
Метки нет (Все метки)

Доброго времени, народ! Учился по книге Дейтела, и наткнулся на такой пример. Перепечатал, два раза проверил, ещё раз перепечатал. Прочитал ошибку, перевел, получалось что произошло множественное определение конструктора, ну или как то так. Вот примеры, кто сталкивался? помогите пожалуйста, с меня плюсозавр в репутационный период полезно ответившего.

create.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//CREATE.H
#ifndef CREATE_H_INCLUDED
#define CREATE_H_INCLUDED
 
class CreateAndDestroy {
public:
   CreateAndDestroy(int); // конструктор
    ~CreateAndDestroy(); // деструктор
 
private:
    int data;
 
};
#endif // CREATE_H_INCLUDED
create.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// CREATE.CPP
 
// Определения функций-элементов для класса CreateAndDestroy
 
#include <iostream>
#include "create.h"
 
using namespace std;
 
 CreateAndDestroy::CreateAndDestroy(int value)
{
    data = value;
    cout << "Объект " << data << " конструктор";
}
 
 CreateAndDestroy::~CreateAndDestroy()
{ cout << "Объект " << data << " деструктор " << endl; }
main.cpp
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
28
29
30
31
32
33
34
35
36
#include <iostream>
#include "create.cpp"
 
using namespace std;
 
void create(void);
CreateAndDestroy first(1);
 
int main()
{
    cout << "   (глобальный созданный до main)" << endl;
 
    CreateAndDestroy second(2);
    cout << "   (локальный автоматический в main)" << endl;
 
    static CreateAndDestroy thrid(3);
    cout << "   (локальный статический в main)" << endl;
    create();
 
    CreateAndDestroy fourth(4);
    cout << "   (локальный автоматический в main)" << endl;
 
    return 0;
}
 
 void create(void)
{
    CreateAndDestroy fifth(5);
    cout << "   (локальный автоматический в create)" << endl;
 
    static CreateAndDestroy sixth(6);
    cout << "   (локальный статический в create)" << endl;
 
    CreateAndDestroy seventh(7);
    cout << "   (локальный автоматический в create)" << endl;
}
вот ошибка


obj/Debug/main.o||In function `CreateAndDestroy':|
/home/skywalker/Net/Dest/create.cpp|10|multiple definition of `CreateAndDestroy::CreateAndDestroy(int)'|
obj/Debug/create.o:/home/skywalker/Net/Dest/create.cpp|10|first defined here|
obj/Debug/main.o||In function `CreateAndDestroy':|
/home/skywalker/Net/Dest/create.cpp|10|multiple definition of `CreateAndDestroy::CreateAndDestroy(int)'|
obj/Debug/create.o:/home/skywalker/Net/Dest/create.cpp|10|first defined here|
obj/Debug/main.o||In function `~CreateAndDestroy':|
/home/skywalker/Net/Dest/create.cpp|16|multiple definition of `CreateAndDestroy::~CreateAndDestroy()'|
obj/Debug/create.o:/home/skywalker/Net/Dest/create.cpp|16|first defined here|
obj/Debug/main.o||In function `~CreateAndDestroy':|
/home/skywalker/Net/Dest/create.cpp|16|multiple definition of `CreateAndDestroy::~CreateAndDestroy()'|
obj/Debug/create.o:/home/skywalker/Net/Dest/create.cpp|16|first defined here|
||=== Build finished: 8 errors, 0 warnings ===|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 14:11     ООР множественное определение конструктора
Посмотрите здесь:

Множественное определение переменной - C++
Доброго времени суток. Просидев n-ое кол-во часов, доделал считай проект и тут вылезли ошибки о multiple definition. Ругается на...

Множественное наследование - C++
В спортивных соревнованиях различных видов спорта приняли участие люди из разных стран. Название страны имеют следующую структуру country =...

Множественное наследование - C++
Здравствуйте! Делаю следующее задание по подготовке к экзамену по С++. Пока только начал. Вкратце - есть абстрактный класс. Его...

Множественное наследование - C++
Возник вопрос по теме множественное наследование. Вот скажем у нас определены классы: class Animal{ public: int...

Множественное наследование - C++
7 задание Сделайте пожалуйста, большое спасибо! :good:

Множественное наследование - C++
Листинг: #include &lt;iostream&gt; using namespace std; class Person{private: string Fname,Sname,years;}; class Student{private:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
1557 / 1035 / 77
Регистрация: 17.04.2009
Сообщений: 2,980
29.01.2012, 14:47     ООР множественное определение конструктора #2
в main.cpp замените #include "create.cpp" на #include "create.h"
Капитан Техно
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 32
29.01.2012, 14:58  [ТС]     ООР множественное определение конструктора #3
Большое спасибо, грубейшая ошибка со стороны редакторов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2012, 21:18     ООР множественное определение конструктора
Еще ссылки по теме:

Множественное наследование - C++
Так как у меня эта тема заняла долгое время для изучения ,выкладываю простой пример для освоения #include&lt;iostream&gt; using namespace...

Множественное наследование - C++
Друзья прошу помочь разобраться, как получить доступ из массива J, к методу (O) из класса (С) #include &lt;iostream&gt; using...

множественное наследование - C++
Почему не компилируется код? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; using namespace std; class...

Множественное наследование - C++
Как создать нового наследника из базового класса и наследника базового класса?


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

Или воспользуйтесь поиском по форуму:
mikillskegg
12 / 12 / 1
Регистрация: 31.10.2011
Сообщений: 35
29.01.2012, 21:18     ООР множественное определение конструктора #4
На самом деле, все будет компилироваться, если компилировать командой

Bash
1
g++ main.cpp -o prog
Хотя, конечно, включать вот так в один модуль текст другого - полнейшее безобразие.
Yandex
Объявления
29.01.2012, 21:18     ООР множественное определение конструктора
Ответ Создать тему
Опции темы

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