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

Задачи для тренировки и лучшего понимания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возможно переписать программу? http://www.cyberforum.ru/cpp/thread153534.html
Есть программа Upgrade UA.exe хочу запустить ее на windows mobile 6. Возможно ли ее переписать.
C++ scanf Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только Hello world ololo O o Меня интересует, можно ли это... http://www.cyberforum.ru/cpp/thread153153.html
C++ Вернуть stdin в консоль
Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью? Добавлено через 9 минут Нашел. #include <cstdlib> #include <stdio.h>...
Прошу помочь.Подключение dll на неуправляемом С/С++ C++
Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению. Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных...
C++ Не сразу закрывающаяся программа http://www.cyberforum.ru/cpp/thread152799.html
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения...
C++ Парсер на С вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада вывести ети дни в порядке нахождениэ... ето походу несложная... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
16.08.2010, 06:45
Цитата Сообщение от Lavroff Посмотреть сообщение
Присваивание другому типу Int. Например double=Int; - с последним вообще просак. И через перегрузку скобок пытался и равенства, ноль эмоций.
Это делается через дружественные функции. Как то так:
C++
1
2
3
4
5
6
7
8
9
class Int
{
    //...
    friend double& operator = (double dval, const Int& rhs)
    {
        dval = static_cast<double>(rhs.value);
        return dval;
    }
};
Добавлено через 37 минут
Мда... Похоже, я поторопился с советом для Lavroff.
Нужно было перегружать не оператор присваивания, а оператор приведения типа:
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
#include <iostream>
#include <cstdlib>
 
class Int
{
    long long value;
public:
 
    Int (int i)
        : value (i)
    {
    }
 
    Int (const Int& rhs)
        : value (rhs.value)
    {
    }
 
    template<class T>
    Int & operator = (const T& rhs)
    {
        value = static_cast<T> (rhs);
        return value;
    }
 
    template<class T>
    operator T ()
    {
        return static_cast<T> (value);
    }
};
 
int main ()
{
    Int i (5);
    double d = i;
    std::cout << d << std::endl;
    return EXIT_SUCCESS;
}
Прошу прощения
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru