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

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

Войти
Регистрация
Восстановить пароль
 
Romka
Сообщений: n/a
#1

Перекрытие операторов - C++

04.06.2008, 20:16. Просмотров 936. Ответов 4
Метки нет (Все метки)

Help me! Help me please!!!
:-)

Есть такая конструкция:

class MyClass{
...
long* fItems; //массив для хранения указателей на строки
....
public:
...
char*& operator[]( int Index );
void operator=( char* String );
...
};

Хотелось бы использовать это дело так:
MyClass items;
items[0] = 'string';

Каким образом реализовать перекрытие оператора = ? Как прилепить туда индекс?

Заранее благодарен.

С уважением, Роман.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2008, 20:16     Перекрытие операторов
Посмотрите здесь:

Перекрытие функции - C++
// Header.cpp #include "Header.h" #include <iostream> void setgolf(golf &g, const char *name, int hc) { int f = 0, i; ...

Перекрытие виртуальной функции базового класса - C++
Возникла проблема с перекрытием виртуальной функции базового класса. Изначально все было всё в 1 классе: class S { ... private: ...

C++ перегрузка операторов - C++
люди такая ситуация кто может в краце объясните перегрузку операторов мне например надо перегрузить оператор умножения что бы умножить...

Перегрузка операторов с++ - C++
Доброго времени суток!Вот у меня перегрузка оператора +.Задание сделапть пергрузку так чтобы к строке можно было добавить символ и к...

Перегрузка операторов - C++
Осуществите перегрузку оператора “+=” так, чтобы при его использовании сумма увеличивалась на 5. Помогите, срочно.

Перегрузка операторов - C++
Перегрузить оператор ввода, вывода для строки; Перегрузить операторы: +, =, +=, >, <, == .

Перегрузка операторов - C++
Расскажите пожалуйста про перегрузку в классе: всегда ли в ней должен быть return и что в нём должно быть её типы(void, int, и т.д.) и...

Перегрузка операторов - C++
Ошибка: "error: invalid operands to binary expression ('Number *' and 'Number *') n3 = n1 * n2;" class Number { public: ...

Перегрузка операторов - C++
Создать следующие классы. В каждом классе должны быть наборы конструкторов (в том числе по умолчанию и копирования), деструктор. Для...

Перегрузка операторов - C++
Задание такое-Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения...

Перегрузка операторов - C++
Доброго всем времени суток!Пожалуйста помогите мне неучу разобраться.Пытаюсь разобраться с классами,но пока безуспешно без посторонней...

Перегрузка операторов - C++
Здравствуйте! Сейчас читаю книгу: "Искусство программирование на С++" Шилдта. Часто встречается перегрузка. Заметил, что в некоторых...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AmbX
0 / 0 / 0
Регистрация: 21.12.2007
Сообщений: 122
05.06.2008, 13:15     Перекрытие операторов #2
#include <string.h>
#define MAX_SIZE 100
#define MAX_BUFF_SIZE 10

template <class TYPE>class MyStack
{
TYPE* buff;
TYPE PrivateMemory[MAX_BUFF_SIZE][MAX_SIZE];

public:
class C_ERR{}MyErr;
MyStack()
{
buff = PrivateMemory[0];
}
MyStack operator[](int index)throw(C_ERR)
{
if(index>=MAX_BUFF_SIZE)
{
throw(MyErr);
}

buff = PrivateMemory[index];
return *this;
}
MyStack& operator =(TYPE* pFrom)
{
memmove((void*)buff,(void*)pFrom,MAX_SIZE);
return *this;
}
MyStack& operator =(MyStack& clFrom)
{
memmove((void*)buff,(void*)clFrom.buff,MAX_SIZE);
return *this;
}
};
int main(int argc, char* argv[])
{

try{
MyStack<char> st1,st2,st3;
st1 = 'string1';
st2[0] =st2[1] = st2[2] = st3[1] = st1;
st1[5];
st1 = 'newstr';
}catch(MyStack<char>::C_ERR)
{
printf('ERR!
');
}
return 0;
}

Если я правильно понял.
Vita
Сообщений: n/a
05.06.2008, 15:06     Перекрытие операторов #3
Вы хоть обрамляйте свои сообщения в [[code]]
Vita
Сообщений: n/a
05.06.2008, 15:07     Перекрытие операторов #4
в [ c o d e ] и [ / c o d e ]
Romka
Сообщений: n/a
05.06.2008, 15:08     Перекрытие операторов #5
Щас вот разберусь чего тут...:-)

Большое спасибо!!!
Yandex
Объявления
05.06.2008, 15:08     Перекрытие операторов
Ответ Создать тему
Опции темы

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