- •1. Объектно-ориентированное программирование как методология проектирования программных средств.
- •1.2. Объект
- •Iarray a(10), b(25), c(45);
- •Int main(void)
- •2.1. Перегрузка имен функций
- •Int print(int);
- •Void print(int);
- •Int (*matrix)[10];
- •Void main(void)
- •Void incr(int &aa)
- •3.2 Объявление класса.
- •Имя_класса имя объекта;
- •Имя объекта. Имя элемента
- •Имя_объекта. Имя_метода( );
- •Имя класса *this;
- •Имя_класса (список формальных параметров)
- •Листинг 3.4
- •V_3d( double &X, double &y,double &z)
- •Void main(void)
- •Х:: х(const х&)
- •V_3d::v_3d(const v_3d& v1)
- •Void v_3d::print()
- •Сlass X
- •Void main (void)
- •4. Перегрузка операций
- •V_3d(double x1,double y1,double z1)
- •Void print();
- •Void main(void)
- •Void v_3d::print()
- •4.3.1. Использование дружественных функций при перегрузке операций
- •Void print();
- •Void main(void)
- •Void v_3d::print()
- •4.3.2.Особенности использования дружественных функций
- •Имя объекта. Имя_функции
- •Void f1( X& );
- •Void f2 ( X* );
- •Void main(void)
- •5. Производные классы
- •Int Bfunc( );
- •Int Xfunc( );
- •Int Efunc( X & x1 );
- •Istream
- •Iostream
- •Ifstream
- •С помощью манипуляторов – специальных операций, вставляемых непосредственно в поток вывода.
- •Int width( int w);
- •Int precision( int p);
- •Void main(void)
- •Void open(char* filename, int mode, int access);
- •If(!fout) {
- •7. Виртуальные функции
- •Circle a;
- •A.Build();
- •Virtual double a(double X)
- •Void main (void)
- •Void Graphics Object :: Build() { };
- •8.Шаблоны функций и классов
- •Void main(void)
- •Void Swap ( SwapType &X, SwapType &y)
- •Void main(void)
- •Int a, double b;
- •Int sloc,rloc;//начало и конец очереди
- •Void qput(t I); // помещение элемента в очередь
- •Int main(void)
- •1.Какой принцип ооп реализуется с помощью шаблонных функций и классов?
- •2.Когда целесообразно использовать шаблоны функций? Каков общий вид объявления шаблона функции?
Int main(void)
{
// Обьявление двух обьектов шаблонного класса
// с массивами различных типов и размеров
queue<int,5> a;
queue<double,200> b;
a.qput(10);a.qput(23);
b.qput(1.129);b.qput(5.55);
cout<< a.qget()<<" "<<a.qget()<<" ";
cout<< b.qget()<<" "<<b.qget()<<"\n";
const int s=10;
// Обьявление указателя на обьект шаблонного класса
queue<long double, s> *pq;
pq=new queue<long double,s>; //динамическое создание обьекта
if(!pq){ cout << "Недостаточно памяти\n";
return 0;
}
else
cout <<" Обьект класса queue создан\n";
for(int i=0;i<s; i++)
pq->qput(i/2.0+i);// заполнение очереди
for( i=0; i<s; i++)
cout << pq->qget() << " ";// просмотр элементов
cout <<"\n";
delete pq;
}
Контрольные вопросы
1.Какой принцип ооп реализуется с помощью шаблонных функций и классов?
2.Когда целесообразно использовать шаблоны функций? Каков общий вид объявления шаблона функции?
3. Каков синтаксис объявления шаблонного класса? В чем особенности определения функции - метода шаблонного класса? Как объявить объект шаблонного класса?
