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

Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно! - C++

Восстановить пароль Регистрация
 
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
29.11.2013, 20:20     Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно! #1
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
 //Листинг 11.4. Перегрузка конструкторов в производных классах
 
#include <string> 
#include <iostream> // для объекта cout
using namespace std;
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. 
//Просто подключите это файл смело и не раздумывая  вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 
 
 
    enum BREED { GOLDEN, CAIRN, DANDIE, SHETLAND, D0BERMAN, LAB };
 
   class Mammal
   {
      public:
         // Конструкторы
         Mammal();
         Mammal(int age);
         ~Mammal();
 
         // Методы доступа
         int GetAge() const { return itsAge; }
         void SetAge(int age) { itsAge = age; }
         int GetWeight() const { return itsWeight; }
         void SetWeight(int weight) { itsWeight = weight; }
 
         //Другие методы
         void Speak() const { cout << "Mammal sound!\n"; }
         void Sleep() const { cout << "shhh. I'm sleeping.\n"; }
 
         protected:
         int itsAge;
         int itsWeight;
    };
 
 
 
    class Dog : public Mammal
    {
       public:
 
          // Конструкторы
          Dog();
          Dog(int age);
          Dog(int age, int weight);
          Dog(int age, BREED breed);
          Dog(int age, int weight, BREED breed);
          ~Dog();
 
          // Методы доступа
          BREED GetBreed() const { return itsBreed; }
          void SetBreed(BREED breed) { itsBreed = breed; }
 
          // Другие методы
          void WagTail() const { cout << "Tail wagging,..\n"; }
          void BegForFood() const { cout << "Begging for food...\n"; }
 
         private:
           BREED itsBreed;
    };
 
 
 
 
    Mammal::Mammal():
    itsAge(1),
    itsWeight(5)
    {
       cout << "Mammal constructor...\n";
    }
 
    Mammal::Mammal(int age):
    itsAge(age),
    itsWeight(5)
    {
       cout << "Mammal(int) constructor...\n";
    }
 
    Mammal::~Mammal()
    {
       cout << "Mammal destructor...\n";
    }
 
 
    Dog::Dog();
    Mammal(),
    itsBreed(GOLDEN)
    {
       cout << "0og constructor...\n";
    }
 
    Dog::Dog(int age):
    Mammal(age),
    itsBreed(GOLDEN)
    {
       cout << "Dog(int) constructor...\n";
    }
 
    Dog::Dog(int age, int weight):
    Mammal(age),
    itsBreed(GOLDEN)
    {
       itsWeight = weight;
       cout << "Dog(int, int) constructor...\n";
    }
 
    Dog::Dog(int age, int weight, BREED breed):
    Mammal(age),
    itsBreed(breed)
    {
       itsWeight = weight;
       cout << "Dog(int, int, BREED) constructor...\n";
     }
 
     Dog::Dog(int age, BREEDbreed):
     Mammal(age),
     itsBreed(breed)
      {
        cout << "Dog(int, BREED) constructor...\n";
      }
 
     Dog::~Dog()
     {
     cout << "Dog destructor...\n";
     }
     int main()
     {
        Dog fido;
        Dog rover(5);
        Dog buster(6,8);
        Dog yorkie (3,GOLDEN);
        Dog dobbie (4,20,DOBERMAN);
        fido.Speak();
        rover.WagTail();
        cout << "Yorkie is " << yorkie.GetAge() << " years old\n";
        cout << "Dobbie weighs ";
        cout << dobbie.GetWeight() << " pounds\n";
        system("pause  ");
        return 0;
     }
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(88): error C2761: {ctor}: повторное объявление функции не разрешается
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(89): error C2059: синтаксическая ошибка: )
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(91): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(91): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(118): error C2061: синтаксическая ошибка: идентификатор "BREEDbreed"
1>d:\проги\перегрузка конструкторов в производных классах\перегрузка конструкторов в производных классах\failcodd.cpp(118): error C2084: функция "Dog:og(int)" уже имеет текст реализации
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 20:20     Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно!
Посмотрите здесь:

Объявление функции C++
объявление функции C++
Объявление функции (непонятно) C++
Объявление функции C++
Объявление шаблонной функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2013, 15:29     Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно!
Еще ссылки по теме:

Объявление функции C++
Объявление функции в шаблоне C++
Правильное объявление функции C++

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

Или воспользуйтесь поиском по форуму:
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
03.12.2013, 15:29     Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно! #21
Ну мы тут вам коллективно подсказали, вы сделайте правильный вывод на начальном этапе, далее ведь проще будет. А то так и будете тыкаться в одно, да другое место (отвлекаться на мелочи), а в итоге ни шагу вперед.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
03.12.2013, 15:29     Не компилируется, {ctor}: повторное объявление функции не разрешается. Страно!
Ответ Создать тему
Опции темы

Текущее время: 22:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru