Программа должна содержать: Базовый класс Х, включающий два элемента х1, х2 типа int, конструктор с параметрами для создания объектов в динамической области памяти, деструктор, виртуальные методы просмотра текущего состояния и переустановки объектов базового класса в новое состояние. Производный класс У, включающий один элемент у типа int , конструктор с параметрами и списком инициализаторов, передающий данные конструктору базового класса, переопределенные методы просмотра текущего состояния объектов и их пере-установки в новое состояние. Создать в производном классе метод Run, определяющий : Сумму квадратов компонент классов
| Код | # include <iostream.h> # include <conio.h> # include <math.h> # include <windows.h> //------------------------------------------------------------------------------------------
class X //базовый класс X { public://открытые переменные int *x1,*x2;
X()//конструктор new базового класса X { cout<<"работает конструктор базового класса X !"<<endl; x1=new int(1); x2=new int(2); cout<<"object created!"<<endl; }; virtual void set()//виртуальная функция переустановки состояния { cout<<("работает виртуальная функция переустановки класса X !")<<endl; cout<<("введите значение x1")<<endl; cin>>*x1; cout<<"x1="<<*x1<<endl; cout<<("введите значение x2")<<endl; cin>>*x2; cout<<"x2="<<*x2<<endl; }; virtual void view()//виртуальная функция просмотра { cout<<("работает виртуальная функция просмотра класса X !")<<endl; cout<<"x1="<<*x1<<endl; cout<<"x2="<<*x2<<endl; };
~X()//деструктор delete базового класса X { cout<<("работает деструктор базового класса X !")<<endl; delete x1; delete x2; cout<<"object destroyed!"<<endl; }; }; //------------------------------------------------------------------------------------------ class Y : public X//производный класс Y от класса Х {
public://открытые переменные int *y; int *z; Y()//конструктор new производного класса Y { cout<<("работает конструктор базового класса Y !")<<endl; y=new int(3); z=new int(0); cout<<"object created!"<<endl; }; void RUN(int,int,int,int);// метод класса RUN void view()//переопределенная функция просмотра { cout<<("работает переопределенная функция просмотра класса Y !")<<endl; cout<<"y="<<*y<<endl; }; void set()//переопределенная функция переустановки { cout<<("работает переопределенная функция переустановки класса Y !")<<endl; cout<<("введите значение y")<<endl; cin>>*y; cout<<"y="<<*y<<endl; }; ~Y()//деструктор производного класса Y { cout<<("работает деструктор производного класса Y !")<<endl; delete y; delete z; cout<<"object destroyed!"<<endl; }; }; void Y::RUN(int a, int b, int c, int d)//реализация метода RUN { cout<<("работает метод RUN !")<<endl; a=*x1; b=*x2; c=*y; d=*z; //cout<<*x1<<endl; //cout<<*x2<<endl; cout<<"x1="<<a<<endl; cout<<"x2="<<b<<endl; cout<<"y="<<c<<endl; d = pow((a+b),2)+pow(c); cout<<"Rezultat z=(x1+x2)^2+y^2"<<d<<endl; }
|
помогите, не поняла как делать дальше, прочитала примеры, конспект, но не знаю что делать дальше. где-то напортачила |