Задача:
Напишите программу создания базы данных некоторого магазина ткани который еще торгует и пряжей. Создайте класс, в котором хранится названия и цена. От этого класса наследуется еще 2 класса: первый содержит информацию о производителе ткани,а второй содержит информацию о составе пряжи и метрах в мотке. В каждом из трех классов должен быть метод getdata через который можно получить данные от пользователя с клавиатуры и метод позволяющий выполнить вывод данных на экран.
Мой код. Как в класс-наследник для функции getdata() получить данные из функции getdata класса-родителя?
class shop
{
protected:
int n1, n2, *price1, *price2;
char **cloth, **yarn;
public:
~shop()
{
delete [] price1;
delete [] price2;
for (int i=0; i<n1; i++)
delete [] cloth[i];
for (int i=0; i<n2; i++)
delete [] yarn[i];
}
void getdata()
{
cout<<"Input the number of kinds of cloth: ";
cin>>n1;
price1=new int[n1];
cloth=new char*[n1];
for (int i=0; i<n1; i++)
cloth[i]=new char[20];
cout<<"Input name of cloth and price of it:\n";
for (int i=0; i<n1; i++)
cin>>cloth[i]>>price1[i];
cout<<"Input the number of kinds of yarn: ";
cin>>n2;
price2=new int[n2];
yarn=new char*[n2];
for (int i=0; i<n2; i++)
yarn[i]=new char[20];
cout<<"Input name of yarn and price of it:\n";
for (int i=0; i<n2; i++)
cin>>yarn[i]>>price2[i];
}
void outdata()
{
cout<<"In stock shop has the following products at a following price:\n";
for (int i=0; i<n1; i++)
cout<<cloth[i]<<" "<<price1[i]<<endl;
for (int i=0; i<n2; i++)
cout<<yarn[i]<<" "<<price2[i]<<endl;
}
};
class shop_cloth:public shop
{
char **fabricator;
public:
~shop_cloth()
{
for (int i=0; i<n1; i++)
delete [] fabricator[i];
}
void getdata()
{
fabricator=new char*[n1];
for (int i=0; i<n1; i++)
fabricator[i]=new char[20];
cout<<"Input the fabricators of cloth:\n";
for (int i=0; i<n1; i++)
{
cout<<cloth[i]<<" ";
cin>>fabricator[i];
}
}
void outdata()
{
cout<<"The fabricators of cloth:\n";
for (int i=0; i<n1; i++)
cout<<cloth[i]<<" "<<fabricator[i];
}
};
class shop_yarn:public shop
{
char **consist;
int *length;
public:
~shop_yarn()
{
delete [] length;
for (int i=0; i<n2; i++)
delete [] consist[i];
}
void getdata()
{
consist=new char*[n2];
for (int i=0; i<n2; i++)
consist[i]=new char[20];
length=new int[n2];
cout<<"Input the consist and the length of yarn:\n";
for (int i=0; i<n2; i++)
{
cout<<yarn[i]<<" ";
cin>>consist[i]>>length[i];
}
}
void outdata()
{
cout<<"The consist ant the length of yarn:\n";
for (int i=0; i<n1; i++)
cout<<yarn[i]<<" "<<consist[i]<<" "<<length[i];
}
};
void main()
{
shop ob;
ob.getdata();
shop_cloth ob1;
shop_yarn ob2;
ob1.getdata();
ob2.getdata();
cout<<endl;
system("pause");
}