Форум программистов, компьютерный форум CyberForum.ru

Наследование и полиморфизм... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить два целых числа, после этого вывести большее на печать http://www.cyberforum.ru/cpp-beginners/thread543269.html
Всем добрый день!!!!Помогите пожалуйста решить две задачки. 1)Напишите программу, которая предлагает пользователю ввести два целых числа, получает эти числа и после этого выводит на печать большее из чисел со словами «is larger». 2)Напишите программу, считывающую целое число, а затем определяющую, четное оно или нечетное, и выводящую эту информацию на печать.
C++ использование шаблонов не могу понять в чем дело.... для примера приведу простенькую функцию ввода элементов в вектор... #include <iostream> #include <vector> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread543257.html
C++ Односвязный список(помогите немного исправить)
Задание: из списка удалить элементы меньше заданного. Наваял что-то, но нифига не получается) #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <iostream> #include <cstdlib> #define N 10
Редактор многомерных динамических массивов C++
!!! Пишу в Microsoft Visual Studio ->Win32 Console application ->C++. !!! Помогите мне пожалуйста написать следующую "задачу", заранее большое спасибо! Условие: Создать проект, содержащий двумерный динамический массив, заполненный случайными числами. Высота и длина массива вводятся с клавиатуры. Реализовать 4 функции, каждая из которых принимает указатель на...
C++ Использование set http://www.cyberforum.ru/cpp-beginners/thread543217.html
Приветствую. Что-то я совсем глупый вопрос задам, но понять, где тут ошибка никак не могу: #include <iostream> #include <vector> #include <set> #include <utility> typedef std::set <std::pair <std::string, std::string> > myData;
C++ Архиваторы Доброго всем дня. Может ли кто-нибудь посоветовать простые программы по созданию архиватора? Обыскала чуть ли не весь интернет, но ничего нормального не нашла. В программировании не разбераюсь, а потому помощи прошу у вас) Заранее благодарю. подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.04.2012, 13:04     Наследование и полиморфизм...
Цитата Сообщение от Глупец Посмотреть сообщение
class myclass
{
public
* * myclass(data,bool T, bool V)/*data - некие параметры,
* * * * * * * * * * * * * * * * * * * * * а вот T - тип объекта(при этом выбор из потомков...),
* * * * * * * * * * * * * * * * * * * * * *V - свойства объекта(опять же к потомком относится)...*/
};
Жесть какая!!! Не делай так больше.
Во первых ты вообще осознаёшь, что таким действием ты рекурсивно запускаешь бесконечный конструктор базового класса???
Потому что перед тем как сделать
mybase(bool id){ tmp = new p1}
конструктор p1 вызовется сначала вызвав конструктор своего родителя??? И мы зациклемся как минимум. А вообще, это ошибка, конечно.
Во-вторых, базовый класс вообще в большинстве случаев не должен много знать о своих потомках. Чаще всего он создаёт какой-то единый интерфейс для обращения с ними.

Добавлено через 13 минут
Но скорее всего даже до рекурсии дело не дойдёт - просто не скомпилируется
На будущее,
хочешь выбирать, что создать, в указателе, одного потомка или другого. Решай это там, где ты выделяешь под них память с помощью new
то есть
C++
1
2
3
4
5
6
7
8
int main(){
base* ptr_to unknown;
cout<<"p1 or p2?";
cin>>n;
if (n==1){base=new p2;}else{base=new p1;}
base->get();
return 0;
}
ФУНКЦИЮ GET сделай виртуальной
 
Текущее время: 06:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru