7 / 7 / 4
Регистрация: 30.07.2010
Сообщений: 87
1

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

30.09.2011, 12:14. Показов 1393. Ответов 10
Метки нет (Все метки)

Здравствуйте, хм глупый вопрос скажите пожалуйста все возможности типа int языка с++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2011, 12:14
Ответы с готовыми решениями:

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что это такое int (*func4 (void)(int)
Это примеры указателей на функцию. Понятно.void (*func1) (void *, int *); void (*func2) (int, int...

Что такое int*
Если с этим int a=3,*p = &a; понятно, то есть переменная "p" содержит адресс переменной "a" и...

Что такое int*a ?
С++ что такое int*a ??? заранее спс

10
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
30.09.2011, 12:20 2
Откуда вообще возможности у типа? Вот есть не молоток, не гвоздь и не отвёртка, а слово "молоток". Что оно может?
0
7 / 7 / 4
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 12:28  [ТС] 3
Реализовать методы класса sint. Класс должен предоставлять все возможности типа int языка С++, все разрешенные для него операции. Так звучит задание в кратце, просто я "чайник" в классах, вот сижу разбираюсь потихоньку, извините за неправильную формулировку вопроса.
0
Делаю внезапно и красиво
Эксперт С++
1312 / 1227 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 12:37 4
+
-
*
/
%
<<
>>
&
|
^
~
и они же вкупе с присваиванием.
1
7 / 7 / 4
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:00  [ТС] 5
Deviaphan, а вы не могли бы сказать алгоритм написания программы с вашей точки зрения?) по пунктам если не сложно)
0
Делаю внезапно и красиво
Эксперт С++
1312 / 1227 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 13:08 6
1. Создаёшь класс sint.
2. Добавить в него данный-член типа int.
3. Добавить операторы реализующие его свойства
3.1 Если не проходили создание операторов: громко сматюгнуться
3.2 Добавить методы вида Multipy, Divide и т.д.
3.2.1 Если не проходили методы: очень громко сматюгнуться
3.2.2 Прийти без выполненного задания.(
1
Эксперт С++
5049 / 3110 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
30.09.2011, 13:21 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;
};
1
3969 / 2022 / 727
Регистрация: 29.11.2010
Сообщений: 4,336
30.09.2011, 13:32 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;
}
Некоторые операторы не прокатят, например инкремент/декремент (++/--) их можно реализовать отдельно.
1
7 / 7 / 4
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:33  [ТС] 9
ребята, спасибо большое, я напишу пожалуй свой шедевр через пару часиков посмотрите)
0
Делаю внезапно и красиво
Эксперт С++
1312 / 1227 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
30.09.2011, 13:37 10
Цитата Сообщение от fort-_-minor Посмотреть сообщение
Реализовать методы класса sint.
Похоже, всё таки не operator+, а Sum и т.д. делать надо. Т.е. не операторами, а методами.
0
7 / 7 / 4
Регистрация: 30.07.2010
Сообщений: 87
30.09.2011, 13:41  [ТС] 11
я так и пишу Sum, Or, And etc.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2011, 13:41
Помогаю со студенческими работами здесь

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите...

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите передать его в функцию. Я...

Что значит такое объявление typedef int (*A) ( )?
typedef int (*A) ( ) Как его понять? Есть варианты ответа А. Объявление типа, что являет...

Значения типа int нельзя присвоить сущности типа int
Значения типа int нельзя присвоить сущности типа int. Как изменить код, что бы было правильно?...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru