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

Опишите безопасное ослабление правил для типов аргументов замещаемых функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите где ошибка http://www.cyberforum.ru/cpp-beginners/thread846052.html
Выдаёт ошибку при компиляции #include <fstream> #include <vector> #include <iostream> using namespace std; class Toy { public: int Price, MinAge, MaxAge; char * Name;
C++ Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают Помогите пожалуйста, выполнить задание. Дан текст из N символов. Группы символов, расположенные между пробелами и не содержащие пробелов внутри себя, называем словами. Найти: количесвто слов в данном тексте; количество слов, у которых первый и последний символ совпадают. http://www.cyberforum.ru/cpp-beginners/thread846049.html
C++ Обход матрицы по 0 с заданного элемента
Дана квадратная матрица, состоящая из 0 и 1...делается обход начинаю с какого то элемента... пробегается по 0, например вправо, если встречается 1, то мы меняем маршрут, вниз или вверх, если опять встречается 1, то опять меняем маршрут.....требуется написать программу, которая напишет номер элемента, который сможет пройтись таким образом по всем нулям....реализовать поиск с помощью рекурсивной...
Задача на рекурсивный перебор C++
В выражении ((((1?2)?3)?4)?5)?6 . Нужно заменить знаки вопроса на знаки +-*/ чтобы в итоге получилось 35. Ну например: 1+2+3*4+5+6=35 За ранее спасибо, форумчане. Добавлено через 10 часов 25 минут Вот решение задачи,если у кого-то есть еще идеи покажите, буду рад) #include <iostream> #include <windows.h> using namespace std;
C++ Сформировать массив со значениями в диапазоне [-6.5*m; 2.5*m], m>5.5 вводится с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread846001.html
День добрый, подскажите нубу как реализовать можно данное условие "Значения элементов массивов формируются в диапазоне , где вещественное значение m>5.5 вводится с клавиатуры." Интересует момент как вот это условие "" загнать в rand (). Помогите пожалуйста :)
C++ Выделение памяти под переменную в структуре Например есть структура struct StrDL { char Str; char Simv; }; и как выделить память под Str ? Типа этого например char *Str=(char*)malloc(1); Добавлено через 9 минут подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Опишите безопасное ослабление правил для типов аргументов замещаемых функций - C++

23.04.2013, 12:03. Просмотров 384. Ответов 8
Метки (Все метки)

Здорова!
Есть еще задачка запутанная:

Предположим, что правила проверки типов для аргументов ослаблены аналогично правилам для типов возвращаемых значений с тем, чтобы можно было заместить функцию, имеющую аргумент типа Base*, на функцию с аргументом Derived*. Напишите программу которая может испортить объект типа Derived без использования приведения типов. Опишите безопасное ослабление правил для типов аргументов замещаемых функций.

Что здесь от нас требуется я вообще не пойму.

Добавлено через 12 минут
Ну что кто первый сделает? Задачка в принципе очень легкая тока, что вроде "ЭВРИКА" произошло, как бы ясно стало, что от на хотят. Примерно догадался.
Кто первый решить тому плюс к репутации сразу ставлю!

Добавлено через 13 минут
Лано вижу вы сильно долго думаете. Здесь я думаю просто имеется в веду, если б были такие правила. Тут как бы имеется в веду что указателю на производный класс можно присвоить указатель базового класса. От например утакой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//oclablenie pravil proverki
#include <iostream>
using std::cout;
using std::endl;
 
class Base
{
public:
    virtual void print(){cout <<"Base::print()"<<endl;}
    virtual Base* zam(){return this;}
};
class Derived : public Base 
{
public:
    virtual void print(){cout <<"Base::print()"<<endl;}
    virtual Base* zam(){return this;}
};
 
int main()
{
    Derived* D=new(Derived);
    Derived* Zam=new(Derived);
    D=Zam->zam();//тут ошибка конечно же (испорченная программа)
    
    return 0;
}
И просто дальше описать примерно правила по которым можно разрешить такое присваивание Dirived* = Base*
Я так думаю утето от нас хотят в задаче?

По крайней мере я ее так сделаю и не буду парится, если вы ничо не добавите.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru