Лабораторная работа №6
Тема: Разработка и реализация программ с типом данных class.
Цель: овладеть навыками составления программы с типом данных class и выполнить её в IDE Borland C++ 5.0.
Задания
1. Вычислить значение переменных, которые будут выведены на дисплей, после выполнения фрагмента программы. Заменить n номером варианта.
Ø #include <iostream.h>
class samp{
int a, b;
public:
samp(int n, int m) {a=n; b=m;}
int get_a() {return a;}
int get_b() {return b;}
};
void main(){
int n;
cout<<"Input n: "; cin>>n;
samp ob[2] = {samp(n, 2*n), samp(3*n, 4*n)};
int i; samp *p; p=ob;
for(i=0; i<n; i++) {
cout<<p->get_a()<<' ';
cout<<p->get_b()<<"\n";
p++;
}
cout<<"\n";
cout<<"Press Enter"<<endl; cin>>n;
}
Эта программы вычисляет ob[i] [j]=ob[0]*(i+j*2+1), но при выводе на дисплей, после второго раза ссылка p указывает уже на область памяти, т. к. переменная ob занимает всего 4 байта. Затем указатель указывает на память, которая зарезервирована другими переменными либо вообще не принадлежащая данной программе или указывать на несуществующий адрес в памяти. Такого рода коды могут нести потенциальную опасность сохранности информации и могут приводить к сбою других программ, включая ОС. В Object Pascal работа со ссылками более жёсткая!
Результат работы программы:
Input n: 3
3 6
9 12
3 1245112
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.