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

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

Войти
Регистрация
Восстановить пароль
 
Romka
#1

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

04.06.2008, 20:16. Просмотров 978. Ответов 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++):

Задача с использованием логических операторов и операторов ветвления - C++
Вот вам задачка, чтоб голову поломать :D Вася работает программистом и получает 50$ за каждые 100 строк кода. За каждое третье...

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

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

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

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

перегрузка операторов - C++
#include <iostream> #include <Windows.h> using namespace std; class CBox { private: double Width; double Height; ...

4
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;
}

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

Большое спасибо!!!
05.06.2008, 15:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2008, 15:08
Привет! Вот еще темы с ответами:

расшифровка операторов - C++
Добрый день. Хотелось бы спросить у людей которые давно работают на С++. Кто нибудь может помочь новичку найти значения или расшифровку...

Перегрузка операторов - C++
Пытаюсь написать такой код: char* operator+(char *s1, char *s2) { return &quot;&quot;; } выдаёт ошибку: http://codepad.org/KS8qU8Ml...

Перегрузка операторов -> <- - C++
Здравствуйте в столь позднее время.. Какова особеность перегрузки операторов -&gt; и . ? Что возвращают ? Если можно ссылки на...

Перегрузка операторов - C++
Мне нужно определить тип name_and_adress. Потом перегрузить для него операторы &lt;&lt; и &gt;&gt; и скопировать поток объектов name_and_adress. У...


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

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

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