Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1

Не могу понять кде ошибка в классе

14.11.2011, 13:09. Показов 1546. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу в классе:
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
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
     string GetName();
     void SetName(int n);
     int GetAge();
     void SetAge(int a);
 
    
private:
    string name;
    int age;
 
};
string Person::GetName()
{
   return name;
}
void Person::SetName(string n)
{
   n=name;
}
int Person::GetAge()
{
   return age;
}
void Person::SetAge(int a)
{
   a=age;
}
int main()
{
 
   system("pause");
    return 0;
}
вот ошибка:
error C2511: 'SetName' : overloaded member function 'void (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' not found in 'Person'
D:\My Programs\C++\Class_Person\Class_Person.c pp(5) : see declaration of 'Person'
Error executing cl.exe.

Class_Person.exe - 1 error(s), 0 warning(s)
я так понимаю надо перегрузить оператор = а как это сделать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2011, 13:09
Ответы с готовыми решениями:

С++ ошибка в проге, но не могу понять какая ошибка(
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;clocale&gt; using namespace std; int main (int args, const char * argv ) { ...

Не могу понять, где ошибка
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; //setw() using namespace std; /* 1. Назад на...

Не могу понять, где ошибка
Помогите пожалуйста, выдает ошибку, а понять не могу

12
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
14.11.2011, 13:11
сигнатуры в объявлении и определении разные
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
14.11.2011, 13:14
Угу, если хотите совсем конкретно:
void SetName(int n)
void Person::SetName(string n)
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
14.11.2011, 13:17  [ТС]
Цитата Сообщение от Dar101 Посмотреть сообщение
Угу, если хотите совсем конкретно:
void SetName(int n)
void Person::SetName(string n)
Спасибо все работает
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
14.11.2011, 13:24  [ТС]
Цитата Сообщение от Dar101 Посмотреть сообщение
Угу, если хотите совсем конкретно:
void SetName(int n)
void Person::SetName(string n)
Спасибо все работает.у меня почему то не правельно выводит результат в этом коде:
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
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
     string GetName();
     void SetName(string n);
     int GetAge();
     void SetAge(int a);
     
 
    
private:
    string name;
    int age;
 
};
string Person::GetName()
{
   return name;
}
void Person::SetName(string n)
{
   n=name;
}
int Person::GetAge()
{
   return age;
}
void Person::SetAge(int a)
{
   a=age;
}
 
int main()
{
    Person S;
    string n;
    int age;
    cout << "Name";
    cin>>n;
    S.SetName(n);
    cout << "Age=";
    cin >> age;
    S.SetAge(age);
    cout << "Name=" << S.GetName() << endl;
    cout << "Age=" << S.GetAge() << endl;
 
 
   system("pause");
    return 0;
}
0
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
14.11.2011, 13:26
Цитата Сообщение от Sylar9 Посмотреть сообщение
у меня почему то не правельно выводит результат
какой класс, такой и результат
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
14.11.2011, 13:28  [ТС]
Цитата Сообщение от PointsEqual Посмотреть сообщение
какой класс, такой и результат
в родибы он правельный
0
 Аватар для Mr. FourKing
1 / 1 / 1
Регистрация: 11.11.2010
Сообщений: 29
14.11.2011, 13:29
в методе SetAge не должно быть наоборот: вместо a=age age=a?
0
 Аватар для KATbIK
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
14.11.2011, 13:30
C++
1
2
3
4
5
6
7
8
9
void Person::SetName(string& n)
{
   name = n;
}
 
void Person::SetAge(int& a)
{
   age = a;
}
Особо не вникал в твою прогу, попробуй так что ли.
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
14.11.2011, 13:35  [ТС]
Цитата Сообщение от KATbIK Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
void Person::SetName(string& n)
{
   name = n;
}
 
void Person::SetAge(int& a)
{
   age = a;
}
Особо не вникал в твою прогу, попробуй так что ли.
Все равно ошибки в этом классе
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
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
     string GetName();
     void SetName(string& n);
     int GetAge();
     void SetAge(int& a);
     
 
    
private:
    string name;
    int age;
 
};
string Person::GetName()
{
   return name;
}
void Person::SetName(string& n)
{
   name = n;
}
int Person::GetAge()
{
   return age;
}
void Person::SetAge(int& a)
{
   age = a;
}
int main()
{
    Person S;
    S.SetName("Ted");
    S.SetAge(28);
    cout << "Name=" << S.GetName() << endl;
    cout << "Age=" << S.GetAge() << endl;
 
 
   system("pause");
    return 0;
}
Вот ошибкиlass_Person.cpp
D:\My Programs\C++\Class_Person\Class_Person.c pp(38) : error C2664: 'SetName' : cannot convert parameter 1 from 'char [4]' to 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &'
A reference that is not to 'const' cannot be bound to a non-lvalue
D:\My Programs\C++\Class_Person\Class_Person.c pp(39) : error C2664: 'SetAge' : cannot convert parameter 1 from 'const int' to 'int &'
A reference that is not to 'const' cannot be bound to a non-lvalue
Error executing cl.exe.

Class_Person.exe - 2 error(s), 0 warning(s)
0
 Аватар для Mr. FourKing
1 / 1 / 1
Регистрация: 11.11.2010
Сообщений: 29
14.11.2011, 13:38
Ну так замени тип стринг на массив из символов
0
 Аватар для KATbIK
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
14.11.2011, 13:39
У тебя же другая функция main до этого была Для нового твоего main убери &
0
 Аватар для Dar101
40 / 40 / 7
Регистрация: 12.05.2011
Сообщений: 109
14.11.2011, 13:43
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
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
    string GetName();
    void SetName(string& n);
    int GetAge();
    void SetAge(int a);
 
private:
    string name;
    int age;
};
 
string Person::GetName()
{
    return name;
}
 
void Person::SetName(string & n)
{
    name = n;
}
 
int Person::GetAge()
{
    return age;
}
 
void Person::SetAge(int a)
{
    age = a;
}
 
int main()
{
    Person S;
    string ololo = "Ted";
    S.SetName(ololo);
    S.SetAge(28);
    cout << "Name=" << S.GetName() << endl;
    cout << "Age=" << S.GetAge() << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2011, 13:43
Помогаю со студенческими работами здесь

НЕ могу понять, что за ошибка
Есть программа: domains i = integer s = o;x кубик = куб(s Left,s Right,s Up,s Down,s Front,s Back) клетка = кл(i X,i Y,s)...

Не могу понять в чём ошибка?
программа (работа с файлами) отрабатывает правильно, но в конце возникает ошибка. Не могу понять, что не так? Текст программы: ...

Не могу понять в чем ошибка?
Выдает ошибки а в чем проблемма не пойму (программирую недавно) Unit1.cpp(94): W8004 'p' is assigned a value that is never used ...

Не могу понять в чем ошибка?
#include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;graphics.h&gt; #include &lt;math.h&gt; #include &lt;process.h&gt; ...

Не могу понять в чём ошибка
Циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима). Со сдвигом вправо...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru