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

что такое возможности типа Int? - C++

Восстановить пароль Регистрация
 
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 12:14     что такое возможности типа Int? #1
Здравствуйте, хм глупый вопрос скажите пожалуйста все возможности типа int языка с++
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.09.2011, 12:20     что такое возможности типа Int? #2
Откуда вообще возможности у типа? Вот есть не молоток, не гвоздь и не отвёртка, а слово "молоток". Что оно может?
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 12:28  [ТС]     что такое возможности типа Int? #3
Реализовать методы класса sint. Класс должен предоставлять все возможности типа int языка С++, все разрешенные для него операции. Так звучит задание в кратце, просто я "чайник" в классах, вот сижу разбираюсь потихоньку, извините за неправильную формулировку вопроса.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 12:37     что такое возможности типа Int? #4
+
-
*
/
%
<<
>>
&
|
^
~
и они же вкупе с присваиванием.
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:00  [ТС]     что такое возможности типа Int? #5
Deviaphan, а вы не могли бы сказать алгоритм написания программы с вашей точки зрения?) по пунктам если не сложно)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 13:08     что такое возможности типа Int? #6
1. Создаёшь класс sint.
2. Добавить в него данный-член типа int.
3. Добавить операторы реализующие его свойства
3.1 Если не проходили создание операторов: громко сматюгнуться
3.2 Добавить методы вида Multipy, Divide и т.д.
3.2.1 Если не проходили методы: очень громко сматюгнуться
3.2.2 Прийти без выполненного задания.(
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.09.2011, 13:21     что такое возможности типа Int? #7
Вот начало, все остальные операторы перегружаются аналогично.

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
class Integer
{
public:
    Integer():
    m_integer()
    {
    }
 
    Integer(int integer):
    m_integer(integer)
    {
    }
 
    Integer(const Integer &source):
    m_integer(source.m_integer)
    {
    }
 
    ~Integer()
    {
    }
 
    operator int() const
    {
        return m_integer;
    }
 
    Integer operator+() const
    {
        return Integer(+m_integer);
    }
 
    Integer operator-() const
    {
        return Integer(-m_integer);
    }
 
    friend Integer operator+(const Integer &left, const Integer &right)
    {
        return Integer(left.m_integer + right.m_integer);
    }
 
    friend Integer operator-(const Integer &left, const Integer &right)
    {
        return Integer(left.m_integer - right.m_integer);
    }
 
private:
    int m_integer;
};
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
30.09.2011, 13:32     что такое возможности типа Int? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Не, ну есть шорткат, конечно. )
Типа, любой тип:
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
#include <iostream>
 
template <class TypeName>
class AnyType {
 public:
  AnyType() : data_() {}
  AnyType(const TypeName& value) : data_(value) {}
  AnyType(const AnyType& other) {
    if (&other != this)
      data_ = other.data_;
  }
  operator TypeName() { return data_; }
  operator TypeName() const { return data_; }
 private:
  TypeName data_;
};
 
int main(int argc, char *argv[]) {
  int a = 0;
  AnyType<int> b = 10;
  std::cout << (b << 1) << std::endl;
  std::cout << (a = b) << std::endl;
  return 0;
}
Конкретно интеджер.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
class Integer {
 public:
  Integer() : data_(0) {}
  Integer(int data) : data_(data) {}
  Integer(const Integer& integer) {
    if (&integer != this)
      data_ = integer;
  }
  operator int() { return data_; }
  operator int() const { return data_; }
 private:
  int data_;
};
 
int main(int argc, char *argv[]) {
  int a = 0;
  Integer b = 10;
  std::cout << (b << 1) << std::endl;
  std::cout << (a = b) << std::endl;
  return 0;
}
Некоторые операторы не прокатят, например инкремент/декремент (++/--) их можно реализовать отдельно.
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:33  [ТС]     что такое возможности типа Int? #9
ребята, спасибо большое, я напишу пожалуй свой шедевр через пару часиков посмотрите)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 13:37     что такое возможности типа Int? #10
Цитата Сообщение от fort-_-minor Посмотреть сообщение
Реализовать методы класса sint.
Похоже, всё таки не operator+, а Sum и т.д. делать надо. Т.е. не операторами, а методами.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2011, 13:41     что такое возможности типа Int?
Еще ссылки по теме:

что такое int argc, char *argv[] в качестве параметров главной (main) функции? C++
Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int C++
Что значит такое объявление typedef int (*A) ( )? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:41  [ТС]     что такое возможности типа Int? #11
я так и пишу Sum, Or, And etc.
Yandex
Объявления
30.09.2011, 13:41     что такое возможности типа Int?
Ответ Создать тему
Опции темы

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