Y.InpVec(0);
// суммирование векторов и вывод результата
Z=X+Y;
clrscr();
cout<<endl<<"Вектор X:"<<endl<<endl;
X.OutVec(0,5,2);
cout<<endl<<"Вектор Y:"<<endl<<endl;
Y.OutVec(0,5,2);
cout<<endl<<"X + Y = "<<endl<<endl;
Z.OutVec(0,5,2);
getch();
// вычитание векторов и вывод результата
Z=X-Y;
clrscr();
cout<<endl<<"Вектор X:"<<endl<<endl;
X.OutVec(0,5,2);
cout<<endl<<"Вектор Y:"<<endl<<endl;
Y.OutVec(0,5,2);
cout<<endl<<"X - Y = "<<endl<<endl;
Z.OutVec(0,5,2);
getch();
// умножение векторов и вывод результата
S=X*Y;
clrscr();
cout<<endl<<"Вектор X:"<<endl<<endl;
X.OutVec(0,5,2);
cout<<endl<<"Вектор Y:"<<endl<<endl;
Y.OutVec(0,5,2);
cout<<endl<<"X*Y = "<<S<<endl;
getch();
}
Класс может иметь один или несколько конструкторов. Конструктор – это специальный метод, который автоматически запускается в момент объявления объекта класса. Обычно конструктор используется для инициализации объектов, т.е. задания их данным начальных значений. Идентификатор конструктора совпадает с именем класса. Если класс имеет более одного конструктора, то они должны различаться списком формальных параметров. В списках формальных параметров можно использовать механизм задания параметров по умолчанию.
Листинг 9
#include "define.h"
class TVector
{
private: // закрытый раздел
// данные класса
int n;
Vector V;
public: // открытый раздел
// конструкторы класса
TVector(int=MatVecSize, double=0.0);
TVector(int, double, double);
// методыкласса
void InpVec(int);
void OutVec(int, int, int);
void SetVec(int, Vector);
void GetVec(int&, Vector);
TVector AddVec(TVector, TVector);
TVector SubVec(TVector, TVector);
double MultVec(TVector, TVector);
};
// файлреализациикласса TVector
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include "tvector.h"
// конструкторыкласса
TVector::TVector(int comp, double val)
// заполнение вектора заданными значениями
{
// описание данных
inti;
// заполнение
n=comp;
for (i=1; i<=n; i++)
V[i]=val;
}
TVector::TVector(int comp, double Vmin, double Vmax)
// заполнение вектора случайными значениями
{
// описание данных
int i;
// заполнение
n=comp;
randomize();
for (i=1; i<=n; i++)
V[i]=Vmin+(Vmax-Vmin)*double(rand())/INT_MAX;
}
...
В приводимом на листинге 9 примере класс TVector снабжен двумя конструкторами. Первый заполняет заданное число компонентов comp заданными значениями val. В его списке параметров по умолчанию используются значения comp=MatVecSize и Var=0.0 . Если описать объект как TVectorX;, то весь массив от элемента с индексом 1 до элемента с индексом MatVecSize будут заполнены нулями (используются значения по умолчанию). Если объект описывается как TVectorX(5,1.0);, то 5 компонентов вектора будут заполнены единицами.
Второй конструктор заполняет comp компонентов вектора случайными значениями, лежащими в интервале от Vmin до Vmax . Выполнение этого конструктора вызывается следующим образом: TVectorX(10,-10.0,10.0);. При этом 10 компонентов вектора будут заполнены случайными значениями от -10 до +10.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.