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

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

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

Устранить ошибку "no match for operator" - C++

17.02.2014, 01:43. Просмотров 1121. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
#include <string.h>
using namespace std;
 
class Firm {
   public:
       Firm();
       Firm(string n, string a, int p, string e );
       ~Firm();
       string GetName();
       void SetName(string val);
       string GetAdress();
       void SetAdress(string val);
       int GetPhone();
       void SetPhone(int val);
       string GetEmail();
       void SetEmail(string val);
  private:
       string Name;
       string Adress;
       int Phone;
       string Email;
};
int kolvo (Firm*,int);
 
int main() {
    Firm F1;  // вызов конструктора по умолчанию
    Firm F2("Apple", "USA", 556006, "no");  // вызов конструктора с параметрами
    F1.SetName("Nokia");   // Обращаемся к элементам объекта
    F1.SetAdress("Finland");         // через имя объекта, поэтому используем
    F1.SetPhone(60768439);  // точку (.).Получить или изменить значение
    F1.SetEmail("sold@microsoft.com");  // элемента со спецификатором private можно
                                      // только через обращение к соответствующим
                                      // методам (SetPhone, SetEmail  и др.)
    cout<<  F1.GetName()<<" "<<F1.GetAdress()<<" "<<F1.GetPhone()<<" "<<F1.GetEmail()<<endl;
    cout<<  F2.GetName()<<" "<<F2.GetAdress()<<" "<<F2.GetPhone()<<" "<<F2.GetEmail()<<endl;
    Firm F3[10];
    string str1, str2, str3;
    int val1;
    cout<<"Vvedite kol-vo elementov -> ";
    for(int i=0; i<4; i++) {
        cout<<"Enter name -> ";
        cin>>str1;
        F3[i].SetName(str1);
        cout<<"Enter adress -> ";
        cin>>str2;
         F3[i].SetAdress(str2);
        cout<<"Enter phone -> ";
        cin>>val1;
        F3[i].SetPhone(val1);
        cout<<"Enter email -> ";
        cin>>str3;
        F3[i].SetEmail(str3);
    }
    for(int i=0; i<4; i++)
    cout<<F3[i].GetName()<<" "<<F3[i].GetAdress()<<" "<<F3[i].GetPhone()<<" "<<F3[i].GetEmail()<<endl;
 
    int i, s=0;
    for(i=0; i<4; i++)
    {
   if(F3[i].GetEmail()==0) s++;
    }
    cout<<"n\Kol-vo firm without email"<<"   "<<s<<"\n";
 
    return  0;
}
Firm::Firm() {
                              // конструктор по умолчанию
}
// конструктор с параметрами
Firm::Firm(string n, string a, int p, string e ) {
 
      n=Name;
      a=Adress;
      p=Phone;
      e=Email;
}
Firm::~Firm() {
        //  деструктор по умолчанию – у нас явно в программе не вызывается,
       // его можно в класс не включать
}
string Firm::GetName() {    //Метод, позволяющий прочитать значение свойства
    return(Name);
}
void Firm::SetName(string val) { // Метод для установки нового значения
    Name=val;                               // свойства
}
string Firm::GetAdress() {
    return Adress;
}
void Firm::SetAdress(string val) {
    Adress=val;
}
int Firm::GetPhone() {
    return Phone;
}
void Firm::SetPhone(int val) {
    Phone=val;
}
string Firm::GetEmail() {
    return Email;
}
void Firm::SetEmail(string val) {
   Email=val;
}
no match for operator==, подскажите что не так в 61 строке, нужно вычислить фирмы без емэйла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2014, 01:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Устранить ошибку "no match for operator" (C++):

Ошибка в коде "no match for 'operator[]' (operand types are 'Student' and 'int')" - C++
Помогите пожалуйста разобраться, в чём проблема? Весь код: #include &quot;windows.h&quot; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include...

Ошибка на "cout <<" no match for operator operand types are std::basic_ostream char - C++
Немного слов про код.Данный код создан для выдачи номера машины,цвета,марки при предоставлении имени.Знаю,что код можно было написать проще...

Компилятор выдает ошибку "Could not find a match for 'stringstream" - C++
Добрый вечер форумчане! Мне необходимо разбить строку полученную из базы данных на слова. На данный момент я смог получить необходимое...

Устранить ошибку оформления кода "expected `}'" - C++
Помогите с кодом, выдаёт ошибку expected `}' at end of input, in function `int main(int, char**)': На скоко я понял нехватает фигурных...

Как устранить ошибку "Was not declared in this scope" - C++
Пытаюсь разобраться в с++. Не могу понять, как обойти ошибку Was not declared in this scope. В паскале, бейсике такого не встречал. В...

Исправить ошибку "error C2679: binary '*' : no operator found which takes a right-hand operand of type" - C++
matiza.h #pragma once template &lt;typename N&gt; class matriza { protected: int stroka; N *mas; public: matriza()

5
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
17.02.2014, 01:47 #2
Цитата Сообщение от jekaky Посмотреть сообщение
if(F3[i].GetEmail()==0) s++;
Походу у вас типы не совпадают
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
17.02.2014, 01:58 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jekaky Посмотреть сообщение
if(F3[i].GetEmail()==0) s++;
замените на
C++
1
if(F3[i].GetEmail()=="") s++;
1
jekaky
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 7
17.02.2014, 02:00  [ТС] #4
Цитата Сообщение от metaluga145 Посмотреть сообщение
замените на
C++
1
if(F3[i].GetEmail()=="") s++;
а что это ""? вроде как работает
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
17.02.2014, 02:03 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jekaky Посмотреть сообщение
а что это ""
пустая строка
1
jekaky
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 7
17.02.2014, 02:08  [ТС] #6
Цитата Сообщение от metaluga145 Посмотреть сообщение
пустая строка
спасибо большое, а вот как допустим при вводе при запуске кода в комадной строке в графе емэйл прописать пустую строку?
0
17.02.2014, 02:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 02:08
Привет! Вот еще темы с ответами:

Перегрузить операторы operator+() и operator*() в пользовательском классе "Комплексное число" - C++
Здравствуйте. Предлагаю заняться арифметикой. Создал прослейший класс, перегрузил операторы сложения и умножения, в конструкторе...

Чем "operator *=" отличается от "operator *"? - C++
снова застряла, не могу понять, чем этот оператор должен отличаться от оператора*.....? вот он, но это работает только в случае...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Expected init-declarator before "operator".expected `,' or `;' before "operator" - C++
Пример не мой. Пытаюсь у себя запустить и чтото неполучается. Ошибка на строке 24 Expected init-declarator before &quot;operator&quot;.Expected...


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

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

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