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

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

Войти
Регистрация
Восстановить пароль
 
 
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
#1

Найти ошибку в определении класса - C++

16.02.2017, 17:52. Просмотров 350. Ответов 21
Метки нет (Все метки)

Доброго дня. Имеется код. Ошибка на последних двух строчках
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class one
{
protected:
    int x;
 
public:
    one();
    int Getx();
};
one::one(){ x = 0 };
int one::Getx
{
    return x;
}
Где указано "x=0" не стоит точка с запятой, а следующую ошибку не смог найти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2017, 17:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти ошибку в определении класса (C++):

Исправить ошибки в определении шаблона класса - C++
Подскажите пожалуйста как исправить эту ошибку template <class T> struct A { T x; }; template <class T>

Найти ошибку в объявлении класса - C++
в чём дело? #include <iostream> #include <string> using namespace std; class Division_by_zero { public: string...

Найти ошибку в объявлении метода класса - C++
Здравствуйте. Не могу понять, где ошибка и в чем она. И как следует писать лучше? По идее поля класса должны заполняться с клавиатуры. ...

Найти ошибку в заполнении полей класса по указателю - C++
а здесь у меня с указателем не получается никак Задание такое же тоже в 3 файлах City.h, City.cpp, main.cpp #include <iostream>...

Помогите найти ошибку в коде простого класса - C++
Все мозги уже себе вынес, ничего не могу понять... Ошибка компиляции, текст такой: converter.cpp(8): E2303 Type name expected ...

Помогите найти ошибку с деструктором при создание класса Матрица - C++
Возникла проблема с деструктором, во время выполнения. #include<iomanip> #include<iostream> #include <stdio.h> #include <ctime> ...

21
Байт
Эксперт C
17714 / 11735 / 1871
Регистрация: 24.12.2010
Сообщений: 23,535
16.02.2017, 18:16 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class one
{
protected:
    int x;
 
public:
    one();
    int Getx();
};
one::one(){ x = 0 };
int one::Getx()  // Скобки
{
    return x;
}
1
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 18:29  [ТС] #3
В коде ошибка
C++
1
 int one::Setx{return x;}
Скобки не решают проблему.
0
nd2
2821 / 2391 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
16.02.2017, 18:33 #4
Цитата Сообщение от eNerGy3 Посмотреть сообщение
В коде ошибка
C++
1
int one::Setx{return x;}
Скобки не решают проблему.
Это, вообще, о чём? Setx у тебя откуда нарисовался? И скобок под параметры там опять нет.
0
Байт
Эксперт C
17714 / 11735 / 1871
Регистрация: 24.12.2010
Сообщений: 23,535
16.02.2017, 18:35 #5
Цитата Сообщение от eNerGy3 Посмотреть сообщение
В коде ошибка
В каком?
C++
1
 int one::Setx{return x;}
Тот же бред.
0
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 18:57  [ТС] #6
Этот бред указан на листке по экзамену.Дан кусок кода и нужно найти ошибку. Практикуюсь по-тихоньку. Вот так указано на листке.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class one
{
protected:
    int x;
 
public:
    one();
    int Getx();
};
one::one(){ x = 0 };
int one::Setx
{
    return x;
}
P.S. Значит две ошибки. Это ";" и "Setx" вместо "Getx()"

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
class one{
protected:
int x;
int Getx();
public:
void Setx(int):
one(int);};
int main(){
one my1;
one my2(7);
cout<<my1.Get_a<<" "<<my2.Get_a();
return 0;

А здесь ошибка в 11строчке. Так должно быть? cout<<my1.Getx()<<" "<<my2.Getx();
0
Байт
Эксперт C
17714 / 11735 / 1871
Регистрация: 24.12.2010
Сообщений: 23,535
16.02.2017, 19:12 #7
Цитата Сообщение от eNerGy3 Посмотреть сообщение
Этот бред указан на листке по экзамену.Дан кусок кода и нужно найти ошибку.
Любопытный подход.
"Учитесь на чужих ошибках".
"Нам некогда ждать, когда вы сделаете ошибки! Давайте, мы сделаем их за вас!"
Не знаю... Отрицать огульно такой подход не могу. Но что-то мне не нравится...
Впрочем, педагогика, как и остальные науки, имеет право на эксперимент.
0
igdev
74 / 63 / 14
Регистрация: 22.04.2016
Сообщений: 344
Завершенные тесты: 2
16.02.2017, 19:35 #8
eNerGy3, А если попробовать вот так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class one
{
protected:
    int x;
 
public:
    one();
    int Getx();
};
one::one(){ x = 0; };
int one::Getx()
{
    return x;
}
0
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 19:38  [ТС] #9
Не вижу здесь ничего плохого. Задание для будущего программиста. Он ведь обязан разбираться в чужом коде. Поэтому такие задачки в экзамене. На под.курсах изучаю в основном С ,а дома практикую С++(классы,объекты).

Добавлено через 1 минуту
Цитата Сообщение от igdev Посмотреть сообщение
eNerGy3, А если попробовать вот так?
Решили задачку. Смотрите мой пост выше.
0
igdev
74 / 63 / 14
Регистрация: 22.04.2016
Сообщений: 344
Завершенные тесты: 2
16.02.2017, 19:42 #10
eNerGy3,
Цитата Сообщение от eNerGy3 Посмотреть сообщение
P.S. Значит две ошибки. Это ";" и "Setx" вместо "Getx()"
Это и есть решение задачки?
0
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 19:51  [ТС] #11
Цитата Сообщение от igdev Посмотреть сообщение
Это и есть решение задачки?
Да. После этого, компилятор ошибку не выявил.
0
igdev
74 / 63 / 14
Регистрация: 22.04.2016
Сообщений: 344
Завершенные тесты: 2
16.02.2017, 19:55 #12
eNerGy3, Если компилятор не выдает ошибок, это не значит, что их нет вообще.

Добавлено через 2 минуты
По логике, если дана get-функция, то она должна возвращать значение переменной. В данном случаи Getx() возвращает значение переменной х.
Set-функция задает значение переменной и никак не может что-то возвращать.
1
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 19:57  [ТС] #13
Цитата Сообщение от igdev Посмотреть сообщение
Если компилятор не выдает ошибок, это не значит, что их нет вообще.
Согласен. Но в данном случае, нужно найти синтаксические ошибки/неточности. Т.к это не целая программа, а ее часть. И проверить потом его на ЭВМ не будет возможности. Поэтому хочу понять где именно искать ошибки.
0
igdev
74 / 63 / 14
Регистрация: 22.04.2016
Сообщений: 344
Завершенные тесты: 2
16.02.2017, 19:58 #14
В вашем решении имеются логические ошибки, а не синтаксические. Т.к. всегда set-функции задают значение переменным, а get-функции возвращают значение переменных. Но никак не наоборот.
0
eNerGy3
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 72
16.02.2017, 20:05  [ТС] #15
А здесь какая ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class one
{
   protected:
         int x;
         int Getx();
   public:
   void Setx(int):
   one(int);
};
 
int main()
{
one my1;
one my2(7);
cout<<my1.Get_a<<" "<<my2.Get_a();
return 0;
}
0
16.02.2017, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2017, 20:05
Привет! Вот еще темы с ответами:

Ошибка при определении класса: undefiner symbol t1,t2,t3,t4 t1 is not a mamber "figura" - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;graphics.h&gt; #include &lt;math.h&gt; #include &lt;iostream.h&gt; class figura { ...

Инициализация поля класса (строки в стиле Си): найти причину возникновения ошибки и исправить эту ошибку - C++
Начинаю учить C++ и хочу сделать что-то типо &quot;игры&quot; в текстовом варианте. Вот столкнулся с проблемой - хранение бонусов при ответе,...

Найти ошибки в определении функции поиска (исправить код) - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct Cours { string surname; string coursname; ...

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...


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

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

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