Меню сайта
Категории раздела
| HTML [44] |
| Visual C++ и MFC [21] |
| c++ [78] |
| php [19] |
| Javascript [15] |
| C# [51] |
| загрузки [0] |
|
XNA [10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 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
| |
| Просмотров: 2412 | Рейтинг: 4.0/2 |
| Всего комментариев: 0 | |