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

Функция и оператор new - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посимвольное краска http://www.cyberforum.ru/cpp-beginners/thread543297.html
Народ подскажите пожалуйста как посимвольное красить буквы? например в слове Привет, сделать разным каждые буквы по цвету
C++ istringstream должен работать всего один раз? Вот простейший код. Кто-нибудь может объяснить почему переменная b здесь остаётся равной нулю? #include <iostream> #include <sstream> #include <string> using namespace std; int main( int argc, char *argv ) { http://www.cyberforum.ru/cpp-beginners/thread543286.html
Задача Рамануджана C++
Приветствую. Помогите решить следующую задачу Найдите натуральное менее решение уравнения a^2 + b^2 = c^2 + d^2 a != b, c != d Например: 1^2 +7^2 = 5^2 +5^2.
Исправить ошибку в методе трапеций: цикл не работает C++
#include<iostream> #include<stdlib.h> #include<math.h> using namespace std; float f(float x){ return x-2 ; }
C++ Найти все пары «дружественных чисел», которые не больше данного числа/ на C++ http://www.cyberforum.ru/cpp-beginners/thread543281.html
Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных чисел», которые не больше данного числа N.
C++ Наследование и полиморфизм... Есть спецы в этой теме?) Сейчас пишу курсовую, в методичке (препод сильно снижает за отклонения от инструкций) сказано создать базовый класс, сделать ему 2х потомков... хорошо сделал, но у этого класса есть интересный конструктор... class myclass { public myclass(data,bool T, bool V)/*data - некие параметры, а вот T - тип объекта(при этом... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
09.04.2012, 16:13     Функция и оператор new
iojeg, Почему это не пойми куда?

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
template <class human> class database
{
public:
    int init_base;
    // В классе хранится указатель на human.
    human* baza;
    int size;
    database(int dsize):size(dsize){
    // В конструкторе происходит инициализация.
    baza = new human[dsize];
    }
void AddElem(human);}
 
template <class human> void database<human>::AddElem(human hum) 
{
    int i;
    size++;
    size_of_base++;
    // Создали новый экземпляр базы.
    human* new_base = new human[size];
    // Скопировали старые значения
    for(i=0;i<(size-1);i++)
    new_base[i]=baza[i];
    // Добавили новые.
    new_base[size-1]=hum;
    // Удалили старую базу.
    delete baza;
    // Присвоили старой базе адрес новой.
    baza = new_base;
    // Итог : base теперь указывает на new_base в которой лежит вся инфа.
};
Добавлено через 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
51
52
53
54
#include <iostream>
 
class Cl
{
public:
   Cl():sz(0)
   {
      array = new int[1];
   }
   ~Cl()
   {
      delete[] array;
   }
   void add_int(const int val)
   {
      if (sz + 1 == 1)
      {
         array[sz] = val;
      }
      else
      {
         int* temp_array = new int[sz + 1];
         for (int i = 0; i < sz; ++i)
         {
            temp_array[i] = array[i];
         }
         temp_array[sz] = val;
         delete array;
         array = temp_array;
      }
      ++sz;
   }
   void print()
   {
      std::cout << "size: " << sz << std::endl;
      for (int i = 0; i < sz; ++i)
      {
         std::cout << array[i] << " ";
      }
      std::cout << std::endl;
   }
private:
   int* array;
   int sz;
};
 
int main()
{
   Cl c;
   c.add_int(1);
   c.add_int(2);
   c.add_int(3);
   c.print();
}
http://liveworkspace.org/code/3bec69...2a06ed1f3a3af0
 
Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru