можно такое сделать... удаление осиль сам... erase смотри у вектора, там ничего сложного...
| Код | //--------------------------------------------------------------------------- #include <iostream.h> #include <vector> //--------------------------------------------------------------------------- struct info { char* madein;//где сделан double d;//диагональ bool rusins;//есть ли русская инструкция }; //--------------------------------------------------------------------------- class Monitor//Монитор { public: Monitor(){};//можно сделать покруче void SetParam(char* s1, char* s2, double a)// задаем значения брэнду, модели, цене { price=a; model=s2; brand=s1; }; void SetInfo(char *s1, bool b, double a)//задаем значения для информации (наша структура, созданная выше) { moninfo.madein=s1; moninfo.d=a; moninfo.rusins=b; }; void Show()//показываем все, кроме информации { cout<<"By "<<brand<<endl; cout<<"Model"<<model<<endl; cout<<"Price: "<<price<<endl; }; void ShowInfo()//показываем инфо { cout<<"Made in: "<<moninfo.madein<<endl; if(moninfo.rusins) cout<<"Rus instruction: yes"<<endl; else cout<<"Rus instruction: no"<<endl; cout<<"D: "<<moninfo.d<<endl; }; ~Monitor(){};//деструктор, можно покруче сделать private: char* model; char* brand; double price; struct info moninfo; }; //--------------------------------------------------------------------------- class Shop//Магазин мониторов { public: Shop(){};//Конструктор, можно сделать лучше void AddMonitor(Monitor c)//Добавить новый монитор { v.push_back(c); } void ShowAll()//Показать все, что есть { for (int i=0; i<v.size(); i++) { cout<<"------------"<<i+1<<"------------"<<endl; v[i].Show(); v[i].ShowInfo(); cout<<"--------------------------"<<endl; } } ~Shop(){};//Деструктор, можно сделать лучше private: vector<Monitor> v;//Тут будут хранится все мониторы в магазине } ; //---------------------------------------------------------------------------
//Затестим int main() { //Сначала работаем с классом монитор cout<<"Work with Monitor"<<endl;
Monitor m;//объявили m.SetParam("LG", "L1950B", 6000);//задали значения брэнду, модели, цене m.Show();//Показали это все m.SetInfo("China", true, 19);//Задали значения дополнительной информации m.ShowInfo();//И ее тоже показали //Теперь поработаем с магазином cout<<"Work with Shop"<<endl;
Shop mys;//объявили mys.AddMonitorA(m);//Добавили mys.AddMonitorA(m);//Лень, поэтому добавили то же самое mys.AddMonitorA(m);//Лень, поэтому добавили то же самое mys.ShowAll();//Показали все, что есть в нашем небогатом магазине (3 монитора)
system("pause"); return 0; } //---------------------------------------------------------------------------
|
|