| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Работа с классами |
| Автор: Fil75 7.7.2006, 21:06 |
| Добрый день. Помогите пожалуйста дописать программу-пример. Вот что у меня получилось. #include <iostream.h> class Insekt //насекомое { protected: int laenge; //длина int gewicht; //вес public: Insekt(int,int); //конструктор virtual void Essen(); //метод еда virtual void Ausgabe(); //вывод на экран }; class Libelle : public Insekt //производный класс стрекоза { protected: Libelle(int); int fluegellaenge; //длина крыла void Essen(); }; Insekt::Insekt(int l,int g) //инициализируем конструктор {laenge=l; //длина gewicht=g; // вес } void Insekt::Essen() // описываем метод еда { laenge++; // увеличиваем длину gewicht++; // увеличиваем вес } void Insekt::Ausgabe() // метод вывод на экран { cout << "Eta Strekosa " << laenge <<" cm dlinoy" <<endl; cout << "i " << gewicht << " g vesom"<<endl; } Libelle::Libelle(int fl) //конструктор произв.класса { fluegellaenge=fl; } Libelle::Essen() //увеличиваем длину крыла { fluegellaenge++;} void main() { char p[50]; cin.getline(p,50); } Написать производный класс Strekosa. Этот класс должен содержать дополнительно свойство fluegellaenge (длина крыла). Метод Essen() этого производного класса должен увеличивать fluegellaenge (длина крыла). Изменить метод Ausgabe() класса Insekt чтобы дополнительно выводить длину крыла. Написать Main(). Которая бы выводила на экран следущее. “Eta Strekosa 20 cm dlinoy and 1 gramm massoy. Ona imeet dlinu krila 20 cm. “Eta Strekosa 25 cm dlinoy and 6 gramm massoy. Ona imeet dlinu krila 25 cm. Помогите дописать Main(). |
| Автор: EEEEEE 7.7.2006, 23:43 | ||
|
| Автор: Fil75 9.7.2006, 00:03 |
| Спасибо за помощь. Попутно еще один небольшой вопрос. В задачнике имеется часть кода: dog big_dog(a); Small_dog small_dog(b,c); dog *Liste[2]; Liste[0]=&small_dog; Liste[1]=&big_dog; Liste[0]->to_bark(); //лаять Liste[1]->to_bark(); //лаять Класс small_dog это производный класс от класса dog. В классе small_dog метод to_bark() – перегружается. Как будет описано полное имя методов которые в последних двух строках вызываются, при условии что метод to_bark() описан не как виртуальный(virtual) Укажите имя в следущей форме Имя класса::Имя метода Я сделал так dog::to_bark(); Правильно ли так? |