Size: a a a

2020 August 06

K

Konstantin in supapro.cxx
Спасибо
источник

АК

Александр Караев... in supapro.cxx
Konstantin
Я переопределил вывод для __int128:
std::ostream &operator<<(std::ostream &out, __int128 &elem) {
   int64_t x = elem;
   out << x;
   return out;
}
иначе в этом коде можно было бы написать в теле функции elem = 0 и что это значило бы? занулить выражение a & n? очевидно, что это глупость
источник

АК

Александр Караев... in supapro.cxx
Dimmu Borgir
Сдал экзамен:)
молодец
источник

DB

Dimmu Borgir in supapro.cxx
Александр Караев
в крайнем случае const __int128&, если жалко копий
Почему амперсант вправее от литерала поставил?
источник

DB

Dimmu Borgir in supapro.cxx
спасибо)
источник

АК

Александр Караев... in supapro.cxx
Dimmu Borgir
Почему амперсант вправее от литерала поставил?
а где ж ему ещё быть?
источник

АК

Александр Караев... in supapro.cxx
__int128 - это тип, а не литерал
источник

DB

Dimmu Borgir in supapro.cxx
Александр Караев
__int128 - это тип, а не литерал
аа
источник

JS

Java Scripter in supapro.cxx
Добрый день здравствуйте, я новенький, у меня не плохо с основами но есть некоторые нюансы, ладно вот уже  ооп прошли закончили. У меня куча проблем с ооп щначить так
источник

JS

Java Scripter in supapro.cxx
#include <iostream>
/*
ДОМАШНЕЕ ЗАДАНИЕ
Задание 1: Реализуйте следующие методы для IntArray
- перегрузите оператор[](для доступа к элементам массива)
- перегрузите оператор + для объединения двух массивов(возвращает новый
IntArray, который содержит элементы первого и второго массива)
- перегрузите оператор ввода и вывода для типа IntArray
*/

class Overload
{
public:
Overload() = default;
Overload(const size_t *value)
{
 set_capasity(1);
}

void set_capasity(const size_t& value)
{
 size_t* temp_arr = new size_t[value];
 for (int i = 0; i < m_lenght; i++)
 {
  temp_arr[i] = m_arr[i];
 }
 delete[]m_arr;
 m_arr = temp_arr;
 m_capasity = value;
}

void new_element(const size_t& element)
{
 if (m_lenght == m_capasity)
 {
  set_capasity(m_capasity + 2);
 }
 m_arr[m_lenght] = element;
 m_lenght++;
}

size_t& operator[](size_t value)
{
 return m_arr[value];
}

Overload operator + (const Overload& right) const
{
 Overload temp_arr;
 for (int i = 0; i < m_lenght; i++)
 {
  temp_arr.new_element(m_arr[i]);
 }

 for (int i = m_lenght; i < right.m_lenght; i++)
 {
  temp_arr.new_element(right.m_arr[i]);
 }

 return temp_arr;
}

~Overload()
{
 delete[]m_arr;
}
private:
size_t m_lenght = 0;
size_t m_capasity = 0;
size_t* m_arr = nullptr;
};

void main()
{
Overload arr;
arr.new_element(15);
arr.new_element(5);
arr.new_element(1);
arr.new_element(6);
arr.new_element(9);
arr.new_element(7);
arr.new_element(8);
arr.new_element(9);
arr.new_element(1);

std::cout << arr[5];
std::cout << '\n';
Overload arr1;
arr1.new_element(35);
arr1.new_element(61);
arr1.new_element(11);
arr1.new_element(67);
arr1.new_element(99);
arr1.new_element(73);
arr1.new_element(81);
arr1.new_element(92);
arr1.new_element(18);

std::cout << arr1[5];

Overload arr2 = arr + (arr1);
}
источник

DB

Dimmu Borgir in supapro.cxx
Java Scripter
Добрый день здравствуйте, я новенький, у меня не плохо с основами но есть некоторые нюансы, ладно вот уже  ооп прошли закончили. У меня куча проблем с ооп щначить так
pastebin
источник

JS

Java Scripter in supapro.cxx
Dimmu Borgir
pastebin
?
источник

JS

Java Scripter in supapro.cxx
Проблема с опервтором +
источник

JS

Java Scripter in supapro.cxx
Я не могу разобраться как это сделать
источник

VS

Vlad Serebrennikov in supapro.cxx
Konstantin
Я переопределил вывод для __int128:
std::ostream &operator<<(std::ostream &out, __int128 &elem) {
   int64_t x = elem;
   out << x;
   return out;
}
правда, поведение int64_t x = elem; не определено, если значение elem больше, чем максимально возможное для int64_t
источник

DP

Denis Paukaev in supapro.cxx
Java Scripter
?
Код залей на pastebin
источник

DP

Denis Paukaev in supapro.cxx
В чате больше 5-10 строк не читается уже
источник

JS

Java Scripter in supapro.cxx
Это приложение?
источник

Е

Егор in supapro.cxx
Java Scripter
#include <iostream>
/*
ДОМАШНЕЕ ЗАДАНИЕ
Задание 1: Реализуйте следующие методы для IntArray
- перегрузите оператор[](для доступа к элементам массива)
- перегрузите оператор + для объединения двух массивов(возвращает новый
IntArray, который содержит элементы первого и второго массива)
- перегрузите оператор ввода и вывода для типа IntArray
*/

class Overload
{
public:
Overload() = default;
Overload(const size_t *value)
{
 set_capasity(1);
}

void set_capasity(const size_t& value)
{
 size_t* temp_arr = new size_t[value];
 for (int i = 0; i < m_lenght; i++)
 {
  temp_arr[i] = m_arr[i];
 }
 delete[]m_arr;
 m_arr = temp_arr;
 m_capasity = value;
}

void new_element(const size_t& element)
{
 if (m_lenght == m_capasity)
 {
  set_capasity(m_capasity + 2);
 }
 m_arr[m_lenght] = element;
 m_lenght++;
}

size_t& operator[](size_t value)
{
 return m_arr[value];
}

Overload operator + (const Overload& right) const
{
 Overload temp_arr;
 for (int i = 0; i < m_lenght; i++)
 {
  temp_arr.new_element(m_arr[i]);
 }

 for (int i = m_lenght; i < right.m_lenght; i++)
 {
  temp_arr.new_element(right.m_arr[i]);
 }

 return temp_arr;
}

~Overload()
{
 delete[]m_arr;
}
private:
size_t m_lenght = 0;
size_t m_capasity = 0;
size_t* m_arr = nullptr;
};

void main()
{
Overload arr;
arr.new_element(15);
arr.new_element(5);
arr.new_element(1);
arr.new_element(6);
arr.new_element(9);
arr.new_element(7);
arr.new_element(8);
arr.new_element(9);
arr.new_element(1);

std::cout << arr[5];
std::cout << '\n';
Overload arr1;
arr1.new_element(35);
arr1.new_element(61);
arr1.new_element(11);
arr1.new_element(67);
arr1.new_element(99);
arr1.new_element(73);
arr1.new_element(81);
arr1.new_element(92);
arr1.new_element(18);

std::cout << arr1[5];

Overload arr2 = arr + (arr1);
}
 Overload(const size_t *value)
{
 set_capasity(1);
}

что за ловушки
источник

DP

Denis Paukaev in supapro.cxx
Java Scripter
Это приложение?
Сайт
источник