Меню сайта
Категории раздела
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 | |
Просмотров: 2384 | Рейтинг: 4.0/2 |
Всего комментариев: 0 | |