| 2011-12-19 16:37:27 есть пару вопросов) Обьясняйте очень доходчего а то я нешарю) То что в инете я находил по этим вопросам - я невкурю) 1. Как создать обьект класса.? с примером) 2. Как переопределить метод? какие методы можно переопределять. Тож с примером) ну это желательно всё обьяснять в словах что как почему)) буду оч благодарен) | ||
| 2011-12-19 16:46:41 Сколько?) | ||
| 2011-12-19 16:48:40 ну например у тебя есть класс my_class; class my_class { private: ... public: ... //тут есть конструкторы всякие с тем же именем.. my_class(); //и деструктор ~my_class(); } создаешь объект my_class a; | ||
| 2011-12-19 16:49:14 Yakoot1 Ну ты блин(( я хотел за консультацию стрясти с него | ||
| 2011-12-19 16:51:10 Velxeor бесплатно помогай)) или лучше мне с математикой помоги)) тут рядом темка есть гдето)) там и стрясти мож удастся чо)) | ||
| 2011-12-19 16:52:27 class fraction { private: int x, y; public: fraction(); fraction(int, int); fraction(const fraction &); void reduce(); friend std::ostream &operator <<(std::ostream &, const fraction &); fraction &operator =(const fraction &); fraction &operator +=(const fraction &); fraction &operator -=(const fraction &); fraction &operator *=(const fraction &); fraction &operator /=(const fraction &); int decompose(); }; класс дроби.. в ней в привате хранятся числитель и знаменатель, х и у.. а в паблике методы всякие, операторы перегруженные | ||
| 2011-12-19 16:55:22 fraction::fraction() { x = 0; y = 0; } //это конструктор по умолчанию.. тоесть если не передавать параметры при создании, то он просто занулит обе переменных fraction::fraction(int a, int b) { x = a; y = b; } //в этот конструктор можно передать свои циферки.. например создать объект так: fraction a(3, 4); fraction::fraction(const fraction &a) { x = a.x; y = a.y; } //это копирующий конструктор, в него передается существующий объект, он из него копирует элементы | ||
| 2011-12-19 16:55:52 Yakoot1 Э не, лесом математику, уже не помню универский курс | ||
| 2011-12-19 16:56:55 Velxeor ![]() | ||
2011-12-19 16:58:22
Сёдня пытался сдать экзамен..вообщем как я понял - не так. Что-то типо Ну начало естественно так а Обьект Класса чтото типо такого. class my_class { public: my class* a = new my class; // Сдесь первое my class являеться типом? т.е. my class являеться типом Класса? как то так.. и я так и невкурил как правильно.. | ||
| 2011-12-19 17:00:25 ну у тебя немного другой способ создания.. у тебя my_class - это имя класса, а - имя объекта класса | ||
| 2011-12-19 17:01:32 А тип данных ? полюбому ж какойто тип должен быть у обьекта?) | ||
| 2011-12-19 17:02:14 Чёрный_кот ну он же объект класса.. у него тип это my_class можно сказать | ||
| 2011-12-19 17:04:59 Yakoot1 понятно с этим вроде разобрались) А со вторым вопросом неподскажешь?) | ||
| 2011-12-19 17:08:16 Чёрный_кот а тебе какие переопределить надо? | ||
| 2011-12-19 17:10:16 Yakoot1 Мне просто пример. Пример желательно попроще Ну и вопрос был какие методы вообще можно переопределять? | ||
| 2011-12-19 17:13:20 а я хрен знает чо такое переопределение.. если то же самое что перегрузка то знаю.. а если нет то хз) | ||
| 2011-12-19 17:14:04 =(( | ||
| 2011-12-19 17:29:38 Yakoot1 http://sauron.org.ua/view_post.php?id=55 Как тут написано , Сокрытие (переопределение) | ||
| 2011-12-19 17:35:52 сlass my_class { void DoSome1(); void DoSome2(); }; Теперь наследуем my_class создавая новый new_class class new_class : public my_class { void DoSome1(); //тут мы переопределили функцию из my_class которую унаследовали переопределили потому что имя идентично. }; если создать объект класса my_class мы будем вызывать обе Функции DoSome1 и DoSome2 которые определеные в my_class если создать объект класса new_class то при вызове метода DoSome1 вызовется переопределенная функция в new_class а при вызове DoSome2 вызовется унаследованная функция из my_class | ||
| 2011-12-19 17:56:01 hockfan а подскажи плиз - я вот делал лабу, созавал класс вектора и класс матрицы.. а ща надо создать иерархическую структуру классов.. там три варианта, из вектора матрицу, из матрицы вектор, и матрицу с вектором из некого абстрактного класса.. из матрицы вектор вроде понятно.. а наоборот как? и третий вариант тож непонятен | ||
| 2011-12-19 18:02:21 демоны ![]() | ||
| 2011-12-19 18:21:09 Yakoot1 матрица , вектора))) если это математика - то у меня это было так давно что я даже не помню что это такое))) абстрактный класс это класс в котором есть хоть один абстрактный метод в результате чего нельзя создать объект данного класса его можно только наследовать в производных классах и переопределять в обязательном порядке абстрактные методы это если по с++ абстрактный метод выглядит обычно так void DoSome()=0; хотя в случае с абстрактными классами требуется обычно еще приписать virtual void DoSome()=0; но если вы это не проходили забей... иначе совсем запутаешься. | ||
| 2011-12-19 18:27:52 hockfan А какие методы можно переопределять, какие нет?) | ||
| 2011-12-19 18:28:49 Чёрный_кот да все можно наверн.. | ||
| 1 | 2 | 3 |