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

Полиморфизм аргумента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Из файла не читатаются строки http://www.cyberforum.ru/cpp-beginners/thread1797758.html
По задаче имеется текстовый файл. И нужно считать этот файл программу и вывести все в консоль. Сама программа: #include <iostream> #include <string> #include <array> #include <cstring> #include <cctype> #include <fstream> using namespace std;
C++ Не могу корректно переписать элементы из одного массива в другой Нужно разработать программу, которая печатала бы имена криптопровайдеров. Для это нужно создать символьный массив из 80 элементов и переписать в них элементы из области pszName. Исходный код выдает ошибку: error C2440: '=' : cannot convert from 'LPTSTR' to 'char ' #include "stdafx.h" #include <iostream> #include <conio.h> #include <stdlib.h> #include <string.h> #include... http://www.cyberforum.ru/cpp-beginners/thread1797756.html
C++ Неясный вызов функции
Имеются две функции void may(char a) { using std::cout; using std::endl; cout << "void may char a" << endl; } void may(const char &a) { using std::cout;
C++ Имеет ли смысл писать makefile?
Всем доброго дня, вообщем сабж, сейчас для само развития занимаюсь написанием 3д движка на опенгл, дело идет потихоньку, и вот задался вопросом стоит ли для такого проекта писать мейкфайл, в целом компиляция занимает относительно много времени и будет ли профит от этого или же VS сама понимает что ей не надо пересобирать весь проект ?
C++ Синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции" http://www.cyberforum.ru/cpp-beginners/thread1797694.html
visual studio 2013 выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "newline, что это за ошибка? КОД #include "stdafx.h" #include <iostream> using namespace std; void main()
C++ Возможна ли инициализация в инициализации? Изучая новый стандарт, заинтересовался: а можно ли как-то сделать массив указателей, например, на тип int, инициализируя ссылочные переменные, на которые указывали бы указатели, в одном выражении? Как-то так: int* pArr = {&(int a = 5), &(int b = 8)} Или это слишком мерзкое извращение для компактности? подробнее

Показать сообщение отдельно
Vhodnoylogin
-13 / 2 / 0
Регистрация: 02.04.2012
Сообщений: 288
23.08.2016, 17:27     Полиморфизм аргумента
Люди, здравствуйте.

Вот, прошло много времени и расстояния. И я пересоздаю тему в другом году и другом разделе.

Итак.
Есть ли в С++ к 2016 году возможность определять тип аргумента, который передается в функцию?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
class Father {
    public virtual void test(Father a){
        cout << "Father with Father";
    }
    public virtual void test(Son a){
        cout << "Father with Son";
    }
    public virtual void test(Daughter a){
        cout << "Father with Daughter";
    }
}
 
public class Son : Father {
    public virtual void test(Father a){
        cout << "Son with Father";
    }
    public virtual void test(Son a){
        cout << "Son with Son";
    }
    public virtual void test(Daughter a){
        cout << "Son with Daughter";
    }
}
 
public class Daughter : Father {
    public virtual void test(Father a){
        cout << "Daughter with Father";
    }
    public virtual void test(Son a){
        cout << "Daughter with Son";
    }
    public virtual void test(Daughter a){
        cout << "Daughter with Daughter";
    }
}
 
Father *d = new Daughter();
Father *s = new Son();
s->test(d); // выведет: "Son with Father";
Вот.
Как можно видеть из создания классов - хочется, чтобы вывелось "Сын с Дочерью". Но выведется-то "Сын с Отцом". Потому что не может он преобразовать аргумент.
Так происходит в Яве. И мне это очень не нравится.

Может быть хоть Цпэпэ сможет удовлетворить мои запросы?

PS:

Не по теме:

Уже давно не писал на си, поэтому могу и ошибаться с синтаксисом.


Не по теме:

Весь код вымышлен, все совпадения с реально работающими программами случайны.


Не по теме:

Линк на предыдущую тему.

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