|
|
Другие темы раздела | |
C++ Нужна помощь , помогите переделать несложную программу с C# на C++
https://www.cyberforum.ru/ cpp-beginners/ thread528775.html Нужна помощь , помогите переделать несложную программу с C# на C++ using System; namespace ConsoleApplication1 { class Program { |
C++ шаблонная функция Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом: первый элемент будет равняться сумме пары, а второй разности пары. На пример: список - 0 2 3 4 3 6, результат 2 –2 7 –1 9 –3. свои наработки потерял, если найду выложу..... |
C++ Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом. Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом. https://www.cyberforum.ru/ cpp-beginners/ thread528762.html | C++ задание со строкой и массивами. C++. Добрый вечер всем. Помогите пожалуйста! Надо написать программу, которая просит пользователя ввести строку. Прочитать строку и разбить на два массива - один с символами соответствующими цифрам, другой с символами соответствующими буквам. Остальные символы "выбросить". Массив должен быть отсортирован по возрастанию, например (AAaacsstux или 11234489). Перед вставкой в массив, символы, которые... https://www.cyberforum.ru/ cpp-beginners/ thread528760.html |
С++ - с какой книги начать и в каком ide прорабатывать примеры C++ Решил я заняться изучением С++, на начальном этапе всегда нужна помощь от опытных людей. На данный момент у меня стоят IDE С++ Builder 6 и XE, а также Visual c++ 2010 Express. Скачал несколько книг по С++, просмотрел везде введения, тип изложения, наличия примеров итп итд. Остановился на Прата С. "Язык программирования С++. Лекции и упражнения", Конечно хотелось прочитать и Страуструпа, т.к... |
C++ добавить в программу использование функций #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; const int ss=80; int main() { setlocale (LC_ALL, "Russian"); int n, i, j=-1, q=0, d=0, a, sum=0, b=0; https://www.cyberforum.ru/ cpp-beginners/ thread528756.html |
C++ Расположение элементов массива в алфавитном порядке из файла Помогите пожалуйста с заданием.Необходимо расположить элементы из файла .txt в алфавитном порядке. Как я понял можно таким методом сделать: Открыть файл, создать массив и присвоить ему рандомные значения от 128 до 159( это вроде по кодировке ASCII) потом расположить элементы массива в порядке возрастания, и сохранить файл чтоб буквы были в нужном порядке. Помогите пожалуйста....Только как нибудь... https://www.cyberforum.ru/ cpp-beginners/ thread528750.html |
C++ Касса автовокзала Нужна задача на С++(консольное приложение), С++(Builder) и С# Расписание автобусов:номер рейса, конечный и промежуточный пункты, время отправления. Количество свободных мест на каждом рейсе. выбор ближайшего рейса до заданного пункта (при наличии свободных мест), оформление билетов с сохранением данных в текстовый файл. Задачу реализовать с помощью файлов |
C++ Ошибка записи в файл. :(
https://www.cyberforum.ru/ cpp-beginners/ thread528729.html Доброго времени суток дорогие форумчане. Решил написать программу которая считывает символы из одного файла ("C:\\1.txt") в массив (mass)? а уже из массива происходит запись в новый файл ("C:\\2.txt"). #include <iostream> #include <stdlib.h> //fprintf( PVPFILE, "%d", pvpin); using namespace std; void abc(){ int i=0; //кол-во символов в "C:\\1.txt" |
C++ В последовательности из N произвольных чисел подсчитать количество нулей
https://www.cyberforum.ru/ cpp-beginners/ thread528723.html В последовательности из N произвольных чисел подсчитать количество нулей.Кто знает как сделать?Помогите:)На C++ |
C++ Снова я со своей квадратной матрицей. Вроде доделал программу, которая проверяет матрицу на латинский и магический квадрат: #include <iostream.h> #include <conio.h> #include <math.h> using namespace std; int **mass = 0; int n,i,j; //Вводимо матрицю |
C++ Определить количество различных элементов матрицы
https://www.cyberforum.ru/ cpp-beginners/ thread528703.html Помогите ,пожалуйста ,реализовать программу на языке Си . Определить количество различных элементов матрицы С (повторяющиеся элементы считать один раз).Если можно с коментариями в коде для понимания . |
1 / 1 / 1
Регистрация: 22.12.2013
Сообщений: 27
|
|
20.02.2015, 21:47 | 0 |
Как узнать, какого типа объект находится по указателю - C++ - Ответ 725283020.02.2015, 21:47. Показов 22110. Ответов 22
Метки (Все метки)
Ответ
Согласен, принцип открытости-закрытости может нарушаться в абстрактных коллекциях.
С теоретической точки зрения да, если нам нужна динамическая типизация, то мы не соблюдаем этот принцип. Но программирование прежде всего имеет смысл с точки зрения практики. И не спроста язык предлагает нам инструменты динамической типизации вроде dinamic_cast и typeid. Можно обойтись и без таких коллекций, только это усложнит реализацию. Лучше рассмотреть на конкретной задаче: Есть 2 контура Contour, состоящих из последовательно соединенных линий Line: Element и дуг Arc: Element. Нам нужно найти точки пересечения этих контуров. Архитектурное решение с применением абстрактных коллекций: Перечисляем элементы первого контура, для каждого из них перечисляем все элементы второго контура и вызываем у них метод PointF pf = el1.Intersect(el2); В методе Intersect каждого типа пишем свич-кейсы. Нарушаем принцип открытости-закрытости (при добавлении новых типов примитивов придется дописывать свич-кейсы в каждом "братском" классе), но простота реализации и поддержки, а также скорость выполнения программы при большом количестве элементов (касты делаются быстро, по крайней мере на C#). Какую можете предложить альтернативу? (Естественно в приватных функциях контура должны сохраняться возможности вставки, удаления, инверсии элементов, и желательно доступа к элементу по индексу). Добавлено через 39 минут Архитектурное решение с применением абстрактных коллекций: Вызываем метод cont1.Intersect(cont2); Перечисляем элементы первого контура, приводим к производному типу. Для каждого из них перечисляем все элементы второго контура, приводим их и вызываем метод PointF pf = (line1/arc1).Intersect(line2/arc2); Все свич-кейсы пишутся в методе Contour.Intersect. При добавлении новых типов примитивов, нужно будет дописать свич кейсы только этого метода, а ранее написанный код примитивов останется без изменений. В такой реализации не нарушается принцип открытости-закрытости, но остается простота реализации и поддержки, а также скорость выполнения программы при большом количестве элементов (касты делаются быстро, по крайней мере на C#). А вот избавиться от динамической типизации вряд ли получится. Отказываться от абстрактной коллекции тоже смысла не вижу и не считаю это ущербным. В принципах ООП ничего нет про ущербность абстрактных коллекций=) Вернуться к обсуждению: Как узнать, какого типа объект находится по указателю C++
0
|
20.02.2015, 21:47 | |
Готовые ответы и решения:
22
Как определиться объект какого типа мы перетаскивали мышью? Как узнать находится ли объект в фокусе Как узнать что находится в переменной типа byte[] Forbids casting в dlsym - ISO C++ не поддерживает приведение типа указателя на функцию к указателю на объект |
20.02.2015, 21:47 | |
20.02.2015, 21:47 | |
Помогаю со студенческими работами здесь
0
Как узнать из какого окна и какого процесса пришло сообщение? Подсчитать, сколько файлов какого типа находится на логическом диске по выбору пользователя От какого типа каждый объект прямо или косвенно является производным в .Net? Можно ли узнать если объект находится на объекте? Как вернуть объект по указателю Как удалить объект класс из кучи по указателю? |