- •Практичне заняття 8 Теоретична частина
- •Завдання
- •Int main()
- •Void push(int var)
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Лабораторне заняття 9 Теоретична частина
- •Зміст завдання
- •Лабораторне заняття 10 Теоретична частина
- •Практичне заняття 9 Теоретична частина
- •Завдання
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Практичне заняття 10-11 Теоретична частина
- •Завдання
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Лабораторне заняття 11-12 Теоретична частина
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Int main()
- •Практичне заняття 12-13 Теоретична частина
- •Завдання
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Лабораторне заняття 13 Теоретична частина
- •Завдання 1
- •Int main()
- •Завдання 2
- •Практичне заняття 14 Теоретична частина
- •Завдання
- •Int main()
- •Int main()
- •Лабораторне заняття 14 Теоретична частина
- •Завдання
Int main()
{clrscr();
void bsort(person**,int);//prototyp
person* persPtr[100];
int n=0;
char choice;
do
{persPtr[n]=new person;
persPtr[n]->setname();
n++;
cout<<”Continue(y/n)?”;
cin>>choice;
} while(choice==’y’);
cout<<”\nНесортований список:”;
for(int j=0;j<n;j++)
persPtr[j]->printname();
bsort(persPtr,n);
cout<<”\nСортований список:”;
for(j=0;j<n;j++)
persPtr[j]->printname();
cout<<endl;
bioskey(0);
return 0;
}
//////////
void bsort(person** pp,int n)
{void order(person**,person**);
int j,k;
for(j=0;j<n-1;j++)
for(k=j+1;k<n;k++)
order(pp+j,pp+k);
}
//////////
void order(person** pp1,person** pp2)
{if((*pp1)->getname()>(*pp2)->getname())
{person* tempptr=*pp1;
*pp1=*pp2;
*pp2=tempptr;
}
}
Програма 20.20
Практичне заняття 10-11 Теоретична частина
Базується на матеріалі лекцій 22-25: віртуалізація функцій
Завдання
Ввести тексти програм, які розглядалися у лекціях 22-25. Прокомпілювати, проаналізувати результат роботи. До тексту звіту включити лістінги програм та результати їх роботи.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
//////////
class Base
{public:
void show()
{cout<<”Base\n”;}
};
////////////
class Derv1:public Base
{public:
void show()
{cout<<”Derv1\n”;}
};
/////////////
class Derv2:public Base
{public:
void show()
{cout<<”Derv2\n”;}
};
//////////////
Int main()
{clrscr();
Derv1 dv1;
Derv2 dv2;
Base* ptr;
ptr=&dv1;
ptr->show();
ptr=&dv2;
ptr->show();
bioskey(0);
return 0;
}
Програма 22.1
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
//////////
class Base
{public:
virtual void show()
{cout<<”Base\n”;}
};
////////////
class Derv1:public Base
{public:
void show()
{cout<<”Derv1\n”;}
};
/////////////
class Derv2:public Base
{public:
void show()
{cout<<”Derv2\n”;}
};
//////////////
Int main()
{clrscr();
Derv1 dv1;
Derv2 dv2;
Base* ptr;
ptr=&dv1;
ptr->show();
ptr=&dv2;
ptr->show();
bioskey(0);
return 0;
}
Програма 22.2
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
//////////
class Base
{public:
virtual void show()=0; //чиста віртуальна функція
};
////////////
class Derv1:public Base
{public:
void show()
{cout<<"Derv1\n";}
};
/////////////
class Derv2:public Base
{public:
void show()
{cout<<"Derv2\n";}
};
//////////////
Int main()
{clrscr();
// Base bad; //помилка
Base* arr[2];
Derv1 dv1;
Derv2 dv2;
arr[0]=&dv1;
arr[1]=&dv2;
arr[0]->show();
arr[1]->show();
bioskey(0);
return 0;
}
Програма 22.3
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
class person
{protected:
char name[40];
public:
void getname()
{cout<<"Input name:"; cin>>name;}
void putname()
{cout<<"Name:"<<name<<endl;}
virtual void getdata()=0;//Чиста віртуальна функція
virtual int isoutstanding()=0;//Чиста віртуальна функція
};
/////////////
class student:public person
{private:
float gps;
public:
void getdata()
{person::getname();
cout<<"Середній бал: ";cin>>gps;
}
int isoutstanding()
{return(gps>3.5)?1:0;}
};
/////////////
class professor: public person
{private:
int numpubs;
public:
void getdata()
{person::getname();
cout<<"Число публікацій:";cin>>numpubs;}
int isoutstanding()
{return(numpubs>100)?1:0;}
};
/////////////////
