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

Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.74
Kiroy
Сообщений: n/a
20.05.2011, 04:28     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #1
Помогите,пожалуйста! Не знаю как делать

Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран. Определить производные классы Decimal (десятичное) и Binary (двоичное), реализующие собственные арифметические операции и функцию вывода на экран. Число представляется массивом, каждый элемент которого - цифра.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 04:28     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран
Посмотрите здесь:

C++ Создать абстрактный базовый класс с виртуальной функцией
C++ задача на абстрактные классы (создать абстрактный базовый класс с виртуальными методами вычисления ф-ции y=f(x) в заданной точке х)
C++ Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема C++
C++ Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
20.05.2011, 09:10     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #2
на набросок!

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
class Integer {
private:
    char *val;
public:
    Integer() {
        val = new char [20];
    }
    Integer(const Integer &another) {
        strcpy(this->val, another.val);
    }
    Integer(const int &Q) {
        val = new char [20];
        val = itoa(Q, val, 10);
    }
    
    virtual Integer& operator+(const Integer &another);
    //virtual Integer operator-(const Integer &another);
 
    virtual bool operator<<(const int &another);
    virtual bool operator>>(int &another);
 
};
 
Integer& Integer::operator+(const Integer &another) {
    int     tmp1 =  atoi(this->val),
            tmp2 =  atoi(another.val);
 
    Integer *Int = new Integer(tmp1+tmp2);
 
    return *Int;
}
 
bool Integer::operator<<(const int &another) {
    val = itoa(another, val, 10);
 
    return true;
}
 
bool Integer::operator>>(int &another) {
    another = atoi(val);
 
    return true;
}
 
 
 
int main(int argc, char** argv) {
 
    Integer test1;
    Integer test2;
    int fuck,
        fuck2;
    cin >> fuck;
    test1 << fuck;
    test1 >> fuck2;
 
    cin >> fuck2;
 
    test2 << fuck2;
 
    test1 = test1 + test2;
 
 
    return 0;
}
в целом вроде работает, про унаследованные классы децимал и бинари хз чё тебе надо. Можешь в функции itoa основание поменять на 2 например для бинари
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.05.2011, 09:43     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #3
Цитата Сообщение от pito211 Посмотреть сообщение
классы децимал и бинари хз чё тебе надо
Цитата Сообщение от Kiroy Посмотреть сообщение
Число представляется массивом, каждый элемент которого - цифра.
Например в классе Binary есть массив из 8 элементов (1 байт). конструктор принимает один аргумент - число в десятичном виде, потом это число раскладывается на биты и записывается в массив. Например создаем объект с параметром 5, массив должен заполнится так:
00000101
Ну и определить свои операции, например числа в двоичном виде складываются по правилу:
0+0=0
1+0=1
0+1=1
1+1=10 (т.е. результат 0, а 1 уходит в старший разряд)
Это так, для примера. Нужно сделать массив из 32 элементов (в идеале из sizeof (int) элементов) и определить (наверное) базовые математические операции: + - . *

Добавлено через 2 минуты

Не по теме:

что-то скрипт [TABLE] не работает...

ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
20.05.2011, 10:14     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #4
Цитата Сообщение от pito211 Посмотреть сообщение
на набросок!

в целом вроде работает, про унаследованные классы децимал и бинари хз чё тебе надо. Можешь в функции itoa основание поменять на 2 например для бинари
Не видно абстрактного класса!
Надо объявить операцию сложения чистой виртуальной. А в наследниках - реализовать.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.05.2011, 10:22     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
в идеале из sizeof (int) элементов
пардон, конечно же из sizeof (int)*8 элементов.
Munchen
 Аватар для Munchen
8 / 8 / 0
Регистрация: 16.05.2011
Сообщений: 30
20.05.2011, 10:49     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран #6
Это точно рабочая программа с классами
Вложения
Тип файла: rar Программа с классами.rar (1.6 Кб, 305 просмотров)
Yandex
Объявления
20.05.2011, 10:49     Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран
Ответ Создать тему
Опции темы

Текущее время: 08:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru