Среда, 08.01.2025, 20:32
Главная Регистрация RSS поиск
Приветствую Вас, Гость
Меню сайта
Категории раздела
HTML [44]
Visual C++ и MFC [21]
c++ [78]
php [19]
Javascript [15]
C# [51]
загрузки [0]
XNA [10]
создание игр с помощью xna
Наш опрос
Каким языком программирования вы увлекаетесь
Всего ответов: 2420
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Главная » Статьи » c++

Класс вектор. Часть1.

Ну, а теперь практика! Вашему вниманию предлагается проект, состоящий из трех файлов, и показывающий практическое применение перегрузки операторов. Будьте внимательны при разборе задач. Как всегда, проект снабжен подробнейшими комментариями. Начнем...

Заголовочный файл (интерфейс класса).

// Предотвращение повторной компиляции кода
// с помощью директив условной компиляции
#if !defined VECTOR_H
#define VECTOR_H

class Vector
{
 double *vect; // Вектор
 int size; // Размерность вектора
public:
 Vector(); // Конструктор по умолчанию
 explicit Vector(int); // Конструктор, позволяющий задавать
 // размерность вектора, но не являющийся
 // конструктором преобразования
 Vector(const double*, int); // Конструктор, позволяющий
 // проинициализировать вектор с помощью
 // существующего массива
 Vector(const Vector&); // Конструктор копирования
 ~Vector(); // Деструктор
 double operator ! (); // Функция, вычисляющая длину вектора
 Vector& operator ++ (); // Увеличение всех компонент вектора
 // на единицу (префикс)
 Vector operator ++ (int); // Увеличение всех компонент вектора
 // на единицу (постфикс)
 Vector& operator -- (); // Уменьшение всех компонент вектора
 // на единицу (префикс)
 Vector operator -- (int); // Уменьшение всех компонент вектора
 // на единицу (постфикс)
 Vector& operator = (const Vector&); // Перегруженный оператор присваивания
 double& operator [] (int); // Перегруженный оператор индексации
 Vector& operator + (); // Перегруженный оператор + (унарный)
 Vector operator - (); // Перегруженный оператор - (унарный)
 Vector operator + (const Vector&); // Сложение двух векторов
 Vector operator + (double); // Сложение вектора с числом
 Vector& operator += (const Vector&);// Перегруженный оператор += для 
 // сложения двух векторов
 Vector& operator += (double); // Перегруженный оператор += для 
 // сложения вектора с числом
 Vector operator - (const Vector&); // Вычитание двух векторов
 Vector operator - (double); // Вычитание числа из вектора
 Vector& operator -= (const Vector&);// Перегруженный оператор -= для 
 // вычитания двух векторов
 Vector& operator -= (double); // Перегруженный оператор -= для 
 // вычитания числа из вектора
 double operator * (const Vector&); // Умножение векторов
 Vector operator * (double); // Умножение вектора на число
 Vector& operator *= (double); // Перегруженный оператор *= для 
 // умножения вектора на число
 // Ввод вектора с клавиатуры
 friend istream& operator >> (istream&, Vector&);
 // Вывод вектора на экран
 friend ostream& operator << (ostream&, Vector&);
 int GetSize(); // Функция возвращает размерность вектора
};

#endif
Категория: c++ | Добавил: slava (30.05.2011)
Просмотров: 2384 | Рейтинг: 4.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]