Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Spiderman5
32 / 32 / 30
Регистрация: 07.04.2014
Сообщений: 219
#1

Operator int() в классе Строка - C++

05.06.2014, 21:27. Просмотров 459. Ответов 4
Метки нет (Все метки)

Приведите пример, пожалуйста, как воспользоваться данной перегрузкой операции в main.

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
 String.h
 
class String
{
private:
    char* str;
    int length;
    int capacity;
public:
    String(); // конструктор по умолчанию
    String(const char*); // конструктор
 
    String::~String() // деструктор
    {
        delete[] str;
    }
 
    const char* GetStr() const { return str; }
 
    const char * FindSymbol(char);
 
    void CopyStr(const char*);
    void CopyStr(String & s);
 
    void Strcat(const char*);
    void Strcat(String & s);
 
    int Strlen();
 
    char * Strrev();
 
    int Strcmp(char* str) const;
    int Strcmp(String & s);
 
    void SetStr(const char* s);
 
                                             // перегрузка операций
 
    // перегрузка операции присваивания
    String& operator=(const String& s);
    String& operator=(const char* s);
    
    operator int() const { return atoi(str); }
};
 
// перегрузка операции вывода
inline ostream& operator<<(ostream& os, const String& s)
{
    return os << s.GetStr();
}

http://www.cyberforum.ru/cpp-beginners/thread811409.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 21:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Operator int() в классе Строка (C++):

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

error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
Что означает ошибка в 8 строчке error: invalid operands of types 'const int*'...

operator[] в классе
Написал собственный класс, где хранит одномерный массив template &lt;class TTT&gt;...

operator int() что за зверь?
Несколько раз видел в интернетах такую запись: operator int(){}; По контексту...

Зачем нужен operator++(int)
Очень тупой вопрос - для чего нужен operator++(int)? Ну, то есть, понятно что...

4
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,184
Завершенные тесты: 1
05.06.2014, 21:31 #2
C++
1
2
3
4
5
6
int main()
{    
     String A("primer");
      cout<<A;
....
}
0
Spiderman5
32 / 32 / 30
Регистрация: 07.04.2014
Сообщений: 219
05.06.2014, 21:43  [ТС] #3
И что именно в данной ситуации делает operator int() ?
0
Renji
2126 / 1485 / 453
Регистрация: 05.06.2014
Сообщений: 4,325
05.06.2014, 22:08 #4
Лучший ответ Сообщение было отмечено Spiderman5 как решение

Решение

Приведите пример, пожалуйста, как воспользоваться данной перегрузкой операции в main.
C++
1
2
String test="1234";
cout<<int(test)+1<<endl;
0
Spiderman5
32 / 32 / 30
Регистрация: 07.04.2014
Сообщений: 219
05.06.2014, 22:32  [ТС] #5
Спасибо !
0
05.06.2014, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2014, 22:32
Привет! Вот еще темы с решениями:

Что означает эта строка? int _tmain(int argc, _TCHAR* argv[])
Всем привет, до этого пользовался DEV, решил пересесть на Visual Studio 2010...

Перегрузка оператора operator+() в пользовательском классе (сложение строк)
Хотел научить класс складывать строки, но на моменте освобождения памяти temp...

invalid operands of types 'double' and 'int' to binary 'operator%'
В строке где If выдает вот эту ошибку 2 раза: invalid operands of types...

Что означает строка int *a = new int[n + 1]?
Что означает строчка int *a = new int; И какую функцию она выполняет в...


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

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

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