Кто шарит в С++


гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
Назад к темам раздела.
2011-12-19 16:37:27 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
есть пару вопросов) Обьясняйте очень доходчего а то я нешарю)
То что в инете я находил по этим вопросам - я невкурю)

1. Как создать обьект класса.? с примером)
2. Как переопределить метод? какие методы можно переопределять. Тож с примером)

ну это желательно всё обьяснять в словах что как почему)) буду оч благодарен)
 
2011-12-19 16:46:41 гильдия Мудрецы (Грандмастер)[13612] гильдия Бойцы (Грандмастер)[27698] Vega (Рыцарь Ордена Павшей Звезды) Вельхеор Информация
Сколько?)
 
2011-12-19 16:48:40 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
ну например у тебя есть класс my_class;
class my_class
{
private:
...
public:
...
//тут есть конструкторы всякие с тем же именем..
my_class();
//и деструктор
~my_class();
}
создаешь объект
my_class a;
 
2011-12-19 16:49:14 гильдия Мудрецы (Грандмастер)[13612] гильдия Бойцы (Грандмастер)[27698] Vega (Рыцарь Ордена Павшей Звезды) Вельхеор Информация
Yakoot1
Ну ты блин(( я хотел за консультацию стрясти с него
 
2011-12-19 16:51:10 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
Velxeor
бесплатно помогай)) или лучше мне с математикой помоги)) тут рядом темка есть гдето)) там и стрясти мож удастся чо))
 
2011-12-19 16:52:27 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
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 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
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 гильдия Мудрецы (Грандмастер)[13612] гильдия Бойцы (Грандмастер)[27698] Vega (Рыцарь Ордена Павшей Звезды) Вельхеор Информация
Yakoot1
Э не, лесом математику, уже не помню универский курс
 
2011-12-19 16:56:55 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
Velxeor
 
2011-12-19 16:58:22 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
Yakoot1 писал(а):
class my_class
{
private:
...
public:
...
//тут есть конструкторы всякие с тем же именем..
my_class();
//и деструктор
~my_class();
}
создаешь объект
my_class a;


Сёдня пытался сдать экзамен..вообщем как я понял - не так.
Что-то типо
Ну начало естественно так а Обьект Класса чтото типо такого.
class my_class
{
public:
my class* a = new my class; // Сдесь первое my class являеться типом? т.е. my class являеться типом Класса?
как то так.. и я так и невкурил как правильно..


 
2011-12-19 17:00:25 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
ну у тебя немного другой способ создания.. у тебя my_class - это имя класса, а - имя объекта класса
 
2011-12-19 17:01:32 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
А тип данных ? полюбому ж какойто тип должен быть у обьекта?)
 
2011-12-19 17:02:14 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
Чёрный_кот
ну он же объект класса.. у него тип это my_class можно сказать
 
2011-12-19 17:04:59 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
Yakoot1
понятно с этим вроде разобрались)
А со вторым вопросом неподскажешь?)
 
2011-12-19 17:08:16 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
Чёрный_кот
а тебе какие переопределить надо?
 
2011-12-19 17:10:16 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
Yakoot1
Мне просто пример. Пример желательно попроще
Ну и вопрос был какие методы вообще можно переопределять?
 
2011-12-19 17:13:20 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
а я хрен знает чо такое переопределение.. если то же самое что перегрузка то знаю.. а если нет то хз)
 
2011-12-19 17:14:04 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
=((
 
2011-12-19 17:29:38 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
Yakoot1
http://sauron.org.ua/view_post.php?id=55
Как тут написано , Сокрытие (переопределение)
 
2011-12-19 17:35:52 гильдия Мудрецы (Новичок)[76] гильдия Собиратели (Грандмастер)[42512] hockfan Информация
с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 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
hockfan
а подскажи плиз - я вот делал лабу, созавал класс вектора и класс матрицы.. а ща надо создать иерархическую структуру классов.. там три варианта, из вектора матрицу, из матрицы вектор, и матрицу с вектором из некого абстрактного класса.. из матрицы вектор вроде понятно.. а наоборот как? и третий вариант тож непонятен
 
2011-12-19 18:02:21 гильдия Бойцы (Мастер)[6560] гильдия Охотники Илдиора (Новичок)[72] Топ Клан (Магистр - Зам. Главы) эмо_слезки Информация
демоны
 
2011-12-19 18:21:09 гильдия Мудрецы (Новичок)[76] гильдия Собиратели (Грандмастер)[42512] hockfan Информация
Yakoot1
матрица , вектора))) если это математика - то у меня это было так давно что я даже не помню что это такое)))

абстрактный класс это класс в котором есть хоть один абстрактный метод в результате чего нельзя создать объект данного класса его можно только наследовать в производных классах и переопределять в обязательном порядке абстрактные методы это если по с++

абстрактный метод выглядит обычно так
void DoSome()=0;
хотя в случае с абстрактными классами требуется обычно еще приписать
virtual void DoSome()=0;
но если вы это не проходили забей... иначе совсем запутаешься.
 
2011-12-19 18:27:52 гильдия Бойцы (Мастер)[11303] гильдия Алхимики (Адепт)[1587] Чёрный_кот Информация
hockfan
А какие методы можно переопределять, какие нет?)
 
2011-12-19 18:28:49 гильдия Столичные Шахтеры (Гранд Элита)[424294] Рассвет Новой Эры (Герой Легенд) гильдия Королевские Лабоходы (Ученик)[278] Yakoot1 Информация
Чёрный_кот
да все можно наверн..
 
123