Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / C / C++ / Введение в язык C++ / Турне по C++ /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Еще об операциях - Программирование от RIN.RU
Еще об операциях

Другое направление развития - снабдить вектора операциями:


class Vec : public vector {
public:
Vec(int s) : (s) {}
Vec(Vec&);
~Vec() {}
void operator=(Vec&);
void operator*=(Vec&);
void operator*=(int);
//...
};


Обратите внимание на способ определения конструктора производного класса, Vec::Vec(), когда он передает свой параметр конструктору базового класса vector::vector() и больше не делает ничего. Это полезная парадигма. Операция присваивания перегружена, ее можно определить так:


void Vec::operator=(Vec& a)
{
int s = size();
if (s!=a.size()) error("плохой размер вектора для =");
for (int i = 0; i


void error(char* p) {
cerr << p << "\n";
exit(1);
}


void vector::set_size(int) { /*...*/ }
int& vec::operator[](int i) { /*...*/ }
main()
{
Vec a(10);
Vec b(10);
for (int i=0; i




 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Комментарии

Типы и Описания

Выражения и Операторы

Функции

Структура программы

Классы

Перегрузка операций

Конструкторы

Вектора

Inline-подстановка

Производные классы

Друзья (friends)

Обобщенные Вектора

Полиморфные Вектора

Виртуальные функции

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь