IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> STL
сообщение
Сообщение #1


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Надо написать функцию Y.Которая будет возвращать 1.
И вызываться будет X.Y , где X это вектор. То есть если правильно понимаю создать свой метод.
Как это сделать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Наследоваться от std::vector, и добавлять нужную тебе функциональность:

#include <iostream>
#include <vector>

using namespace std;

template <class T>
class myVector: public vector<T> {
public:
int Y() {
return 1;
}
};

int main()
{
myVector<int> v;

v.push_back(10); // работают как методы vector-а
cout << v.Y() << endl; // так и добавленная функция...

getch();
return 0;
}

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


А как внутри этой функции обратиться к итератору на начало,на конец?..

(Извиняюсь что в эту же тему, почему может не работать Form1->Image1->Canvas->Refresh()?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
как внутри этой функции обратиться к итератору на начало,на конец?

template <class T>
class MyVector : public std::vector<T>
{
public:

int Y()
{
int count = 0;

for(const_iterator i = begin(); i != end(); ++i)
{
count += 1;
}
return count;
}
};


Цитата
почему может не работать
Что подразумевается под "работой"? Что должен делать метод Canvas::Refresh() знаешь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Спасибо.

Цитата(volvo @ 6.10.2007 17:56) *

Что подразумевается под "работой"? Что должен делать метод Canvas::Refresh() знаешь?


Я думаю что он должен очищать Canvas. Это я и подразумеваю под его работой. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата(BDS 2006 Help)
TCanvas::Refresh Method
Deselects the Pen, Brush, and Font from the device context.
Ничего про очистку... А очищать канву:

...
Image1->Canvas->Brush->Color = clWindow;
Image1->Canvas->FillRect(Image1->ClientRect);
...


(Все-таки, задавай вопросы по другой теме в отдельном топике, а то свалка начнется...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(volvo @ 6.10.2007 18:33) *

Ничего про очистку... А очищать канву:

...
Image1->Canvas->Brush->Color = clWindow;
Image1->Canvas->FillRect(Image1->ClientRect);
...


(Все-таки, задавай вопросы по другой теме в отдельном топике, а то свалка начнется...)


Спасибо большое.
(Хорошо)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 16:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name