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

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

Войти
Регистрация
Восстановить пароль
 
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
#1

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

14.11.2011, 13:09. Просмотров 799. Ответов 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.cpp(5) : see declaration of 'Person'
Error executing cl.exe.

Class_Person.exe - 1 error(s), 0 warning(s)
я так понимаю надо перегрузить оператор = а как это сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2011, 13:09     Не могу понять кде ошибка в классе
Посмотрите здесь:

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

Не могу понять в чем ошибка - C++
Мне нужно сделать менюшку, в которую я записываю данный в бинарный файл, но после ввода имени, у меня выдает 2 cout'a и не могу ввести...

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

Не могу понять в чем ошибка - C++
Всем доброго время суток целый день бьюсь, не понимаю в чем ошибка: #include &lt;iostream&gt; using std::endl; int myFunc(unsigned short...

Не могу понять в чем ошибка? - C++
#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; ...

не могу понять в чем ошибка - C++
Вот мое задание: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х до Х с шагом dx. Функция F: -ax^2...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.11.2011, 13:11     Не могу понять кде ошибка в классе #2
сигнатуры в объявлении и определении разные
Dar101
40 / 40 / 1
Регистрация: 12.05.2011
Сообщений: 109
14.11.2011, 13:14     Не могу понять кде ошибка в классе #3
Угу, если хотите совсем конкретно:
void SetName(int n)
void Person::SetName(string n)
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
14.11.2011, 13:17  [ТС]     Не могу понять кде ошибка в классе #4
Цитата Сообщение от Dar101 Посмотреть сообщение
Угу, если хотите совсем конкретно:
void SetName(int n)
void Person::SetName(string n)
Спасибо все работает
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
14.11.2011, 13:24  [ТС]     Не могу понять кде ошибка в классе #5
Цитата Сообщение от 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;
}
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.11.2011, 13:26     Не могу понять кде ошибка в классе #6
Цитата Сообщение от Sylar9 Посмотреть сообщение
у меня почему то не правельно выводит результат
какой класс, такой и результат
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
14.11.2011, 13:28  [ТС]     Не могу понять кде ошибка в классе #7
Цитата Сообщение от PointsEqual Посмотреть сообщение
какой класс, такой и результат
в родибы он правельный
Mr. FourKing
1 / 1 / 1
Регистрация: 11.11.2010
Сообщений: 29
14.11.2011, 13:29     Не могу понять кде ошибка в классе #8
в методе SetAge не должно быть наоборот: вместо a=age age=a?
KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
14.11.2011, 13:30     Не могу понять кде ошибка в классе #9
C++
1
2
3
4
5
6
7
8
9
void Person::SetName(string& n)
{
   name = n;
}
 
void Person::SetAge(int& a)
{
   age = a;
}
Особо не вникал в твою прогу, попробуй так что ли.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
14.11.2011, 13:35  [ТС]     Не могу понять кде ошибка в классе #10
Цитата Сообщение от 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.cpp(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.cpp(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)
Mr. FourKing
1 / 1 / 1
Регистрация: 11.11.2010
Сообщений: 29
14.11.2011, 13:38     Не могу понять кде ошибка в классе #11
Ну так замени тип стринг на массив из символов
KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
14.11.2011, 13:39     Не могу понять кде ошибка в классе #12
У тебя же другая функция main до этого была Для нового твоего main убери &
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2011, 13:43     Не могу понять кде ошибка в классе
Еще ссылки по теме:

не могу понять в чем ошибка. - C++
Здравствуйте. Извините если подобные темы уже есть или это типичный вопрос но я их не нащел в поиске. Я недавно на С++ совсем и хотелось бы...

В чем ошибка не могу понять? - C++
#include &lt;iostream.&gt; #include &lt;stdio.h&gt; #include &lt;cmath&gt; int main() { double S = 0.0; for (int i=1; i&lt;=10;...

Не могу понять где ошибка - C++
Не могу понять почему не работает программа, ниже условие и код Заполнить матрицу последовательностью чисел, кратных 3 в виде спирали ...

Не могу понять где ошибка ? - C++
Ошибка в реализации функции AI_Attacks , я пометил комментарием где именно. Программа работает но через раз! Из 10 раз 2, 3 раза выдает...


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

Или воспользуйтесь поиском по форуму:
Dar101
40 / 40 / 1
Регистрация: 12.05.2011
Сообщений: 109
14.11.2011, 13:43     Не могу понять кде ошибка в классе #13
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;
}
Yandex
Объявления
14.11.2011, 13:43     Не могу понять кде ошибка в классе
Ответ Создать тему
Опции темы

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