0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 59
1

Классы в C++ (Исправление ошибок)

02.03.2019, 18:33. Показов 644. Ответов 7

Помогите разобраться с кодом. Не могу разобраться, что я делаю не так.

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
class book 
{
    private:
    
    string name;
    string title;
    int num;    
 
    public:
    
    book(string author_full_name){ // note: previous declaration 'book::book(std::__cxx11::string'
 
        name = author_full_name;
    }    
 
    book(string book_title = ""){ // error: 'book::book(std::__cxx11::string' cannot be overloaded with 'book::book(std:__cxx11::string'
 
      title = book_title;
    } 
 
    book(unsigned int num_of_pages = 0){
        
        num = num_of_pages;
    }
  
  string get_name();
  string get_title();
  int get_num();
 
    ~book(){
 
        cout << "Oh... Did you just thow out the book? Well...";
    }
}
 
 
string book:: get_name(){ // error: expected initializer befor 'book'
 
  return name;  
}
 
string book:: get_title(){
 
    return title;
}
 
int book:: get_num(){
 
    return num;
}
 
int main(){
 
    book fl_name("Zubenko Mihail Petrovich");
    book ttl_name("Thats how mafia works");
  book nm(376);
 
  cout << "Author's full name is: " << fl_name.get_name() << endl;
  cout << "Book title is: " << ttl_name.get_title() << endl;
  cout << "Number of pages in the book is: " << nm.get_num() << endl;
 
  return 0;
}
upd: если даже это максимально смешной код, пожалуйста, не смейтесь, а лучше помогите.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2019, 18:33
Ответы с готовыми решениями:

Исправление ошибок
Помогите разобраться, в чём моя ошибка. Не хочет компилировать. #include &lt;iostream&gt; #include...

Исправление ошибок в C++
Всем доброго времени суток! У меня появился такой вопрос, есть ли в Visual Studio 8 или 10 такая...

Исправление ошибок
Какие ошибки есть в следующем коде? for (int i =О: i &lt;= phrase.size(): ++i) { cout «...

Исправление ошибок
Пожалуйста помогите исправить ошибки!!! #include &lt;iostream h&gt; #include &lt;stdlib h&gt; int main()...

7
446 / 332 / 172
Регистрация: 01.07.2015
Сообщений: 1,162
02.03.2019, 18:48 2
C++
1
2
3
4
5
6
7
8
9
    book(string author_full_name){ // note: previous declaration 'book::book(std::__cxx11::string'
 
        name = author_full_name;
    }    
 
    book(string book_title = ""){ // error: 'book::book(std::__cxx11::string' cannot be overloaded with 'book::book(std:__cxx11::string'
 
      title = book_title;
    }
Как предлагаете компилятору понять, какой конструктор вызвать?

(book(string), book(string); в чем разница?)
1
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 467
02.03.2019, 18:48 3
Цитата Сообщение от A_Little_Moron Посмотреть сообщение
book(string author_full_name){ // note: previous declaration 'book::book(std::__cxx11::string'
name = author_full_name;
* * } * *
book(string book_title = ""){ // error: 'book::book(std::__cxx11::string' cannot be overloaded with 'book::book(std:__cxx11::string'
title = book_title;
* * }
book(unsigned int num_of_pages = 0){
num = num_of_pages;
* * }

Может существовать только один конструктор (не считая перегрузки, но это не ваш случай, как я понял), то есть заверните все заверните в один:
C++
1
2
3
4
book(string author, string title, int pages)
{
  //...
}
1
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 59
02.03.2019, 18:59  [ТС] 4
Спасибо. Это помогло, но всё равно осталась ошибка в 37 строке: string book:: get_name(){ // error: expected initializer befor 'book' . Что с этим делать?

upd: без "book::" выдает ошибку: "<num>(или <title>, или <name>) was not declared in this place."
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 467
02.03.2019, 19:22 5
A_Little_Moron, код весь киньте
1
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 59
02.03.2019, 19:39  [ТС] 6
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
#include <iostream>
#include <string>
using namespace std;
 
class book 
{
    private:
    
    string name;
    string title;
    int num;    
 
    public:
    
    book(string _name, string _title, int _num){ 
 
        name = _name;
        title = _title;
        num = _num;
    }    
 
  string get_name();
  string get_title();
  int get_num();
 
    ~book(){
 
        cout << "Oh... Did you just thow out the book? Well...";
    }
}
 
 
string book:: get_name(){ // error: expected initializer befor 'book'
 
  return name;  
}
 
string book:: get_title(){
 
    return title;
}
 
int book:: get_num(){
 
    return num;
}
 
int main(){
 
    book kniga("Zubenko Mihail Petrovich", "That is how mafia works", 368);
 
  cout << "Author's full name is: " << kniga.get_name() << endl;
  cout << "Book title is: " << kniga.get_title() << endl;
  cout << "Number of pages in the book is: " << kniga.get_num() << endl;
 
  return 0;
}
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 467
02.03.2019, 19:44 7
После класса точку с запятой пропустили (30 строка)
2
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 59
02.03.2019, 19:54  [ТС] 8
Всё, оно работает! Огромное спасибо вам всем!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2019, 19:54
Помогаю со студенческими работами здесь

Исправление ошибок
Есть такая программка, которая должна считать значения из файла типа float, записать массив и лать...

Исправление ошибок
Помогите запустить программу #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;fstream.h&gt; int...

исправление ошибок
//funkcijas1 #include &lt;iostream&gt; using namespace std; int main() { int i,...

Исправление ошибок
Дано 100 вещественных чисел. Определить, образуют ли они возрастающую последовательность....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru