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

перегрузка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Аргумент типа "HDC" несовместим с параметром типа const PAINTSTRUCT http://www.cyberforum.ru/cpp-beginners/thread1101552.html
#include <Windows.h> int main(void) { PAINTSTRUCT ps; HDC hdc = BeginPaint(hwnd, &ps); HPEN p1, p2, p3, p4, p0; p1 = CreatePen(PS_SOLID, 4, RGB(255, 0, 0)); p2 = CreatePen(PS_SOLID, 4, RGB(0, 255, 0)); p3 = CreatePen(PS_SOLID, 4, RGB(0, 0, 255));
C++ Игра Морской Бой #include <conio.h> #include <stdlib.h> #include <iostream.h> #include <dos.h>Kletka {:Pustaya_kletka, Vistrel, X, Y;:(int x, int y) {Vistrel = 0; Pustaya_kletka = 0; X = x; Y = y;} Vistrel_v_kletku(int vistrel = 1) {Vistrel = vistrel;} Vistrel_ili_net() {return Vistrel;}Korabl_v_kletku(int pustaya_kletka) {Pustaya_kletka = pustaya_kletka;}Pustaya_ili_net() {return Pustaya_kletka;}... http://www.cyberforum.ru/cpp-beginners/thread1101547.html
C++ Упростить условие
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include<conio.h> #include<iomanip> #define n 2 using namespace std; struct champ
Метод одноалфавитного шифрования с заданным смещением C++
Доброго времени суток. У меня в институте начался курс криптографии и как полагается первая лаба зашифровать строку шифрома Цезаря (знаю что сто раз было). Задание звучит так: Составить программу, шифрующую сообщения, состоящие из строчных букв кириллицы другими буквами того же самого алфавита. Для получения строки использовать генератор случайных чисел. Полученную последовательность...
C++ Сравнение строк без нескольких символов http://www.cyberforum.ru/cpp-beginners/thread1101507.html
Здравствуйте, у меня вопрос по сабжу. Есть задание на написание парсера, всё бы хорошо, только не знаю как оптимально сравнивать строки за исключением некоторых символов. В общем так: есть строка, к примеру, name и есть входная строка str. В строке str: "%" соответствует 0 или более любым символов "-" соответствует 1 любому символу Например: Iv%
C++ Какие 2 сортировки надо знать, чтобы на все случаи жизни быть застрахованным? Всем добрый вечер! Форум уже давно читаю на правах гостя. Сегодня всерьез решил заняться темой сортировок. Форум очень интересный, уверен, не зря зарегистрировался. Собственно, сабж: Прочитал кучу статей о сортировках, о скорости, памяти, но разобраться оказалось трудновато. Раньше я думал, что достаточно знать QuickSort, что можно применять ее всюду и сортить абсолютно любые массивы за... подробнее

Показать сообщение отдельно
Lers
12 / 12 / 3
Регистрация: 27.05.2012
Сообщений: 202
20.02.2014, 20:12     перегрузка
Вот моя перегрузка
C++
1
2
3
4
5
6
7
8
9
10
11
Disc* FCollectionDisc :: operator [] (char* l)
{
  for (int i=0; i<getcount(); i++)
  {
    if (strcmp(getitem(i)->getnamedisc(),l)==0)
    {
      return getitem(i);
    }
  }
  return NULL;
}
FcollectionDisc (это коллекция, в ней лежат объекты базового класса Disc) и FcollectionDisc наследник Collection, методы оттуда.

C++
1
2
3
FcollectionDisc f1;
//тут я добавил некоторое кол-во объектов
f1["Taxi"]->putobject(); // вот если в коллекции Taxi нету то прога критует.
Критует потому что putobject()-это вывод объекта, нечего выводить. Подскажите какую проверку написать, чтобы не вылетало или если такого объекта нету, то дальше не вызывало putobject();

Добавлено через 1 минуту
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
72
73
74
75
76
77
#include <string.h>
#include <stdio.h>
#include "Collection.h"
 
 
Collection :: Collection (Collection *x)
{
 
    col = x->col;
    items = new Disc *[col];
    for (int i = 0; i < col; i++)
    {
     items[i]=new Disc(*x->items[i]);
     // items[i]=x->items[i];
  //      items[i]=new Disc;
   //     items[i]->sethours(x->items[i]->gethours());
  //      items[i]->setnamedisc(x->items[i]->getnamedisc());
    }
}
 
 
Collection::Collection()
{
  col=0;
  items=new Disc*[10];
}
 
Collection::~Collection()
{
  for (int i=0; i<col; i++)
   {
      delete items[i];
    }
  delete [] items;
}
 
void Collection::additem(Disc *x)
{
    items[col] = x;
    col++;
}
 
void Collection::delitem(int a)
{
  delete items[a];
   for (int i=a; i<col-1; i++)
   {
    items[i]=items[i+1];
   }
  col--;
}
 
int Collection::getcount()
{
  return col;
}
 
Disc * Collection::getitem(int num)
{
    return items[num];
}
 
void Collection::putitems()
{
  for(int i = 0; i < col; i++)
   {
     items[i]->putobject();
   }
 
}
 
void Collection :: swap (int r1, int r2)
{
 Disc* g=items[r1];
 items[r1]=items[r2];
 items[r2]=g;
}
Добавлено через 21 секунду
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 <string.h>
#include <stdio.h>
#include "disc.h"
 
void Disc :: setnamedisc(char *s)
{
  strcpy(namedisc,s);
}
 
char* Disc :: getnamedisc()
{
  return namedisc;
}
 
void Disc :: sethours(int b)
{
  hours=b;
}
 
int Disc :: gethours()
{
  return hours;
}
 
void Disc :: getobject()
{
  fflush(stdin);
  printf("\nВведите название дисциплины -> ");
  gets(namedisc);
  printf("Введите кол-во часов -> ");
  scanf("%d",&hours);
}
 
void Disc :: putobject()
{
  printf("Название дисциплины: ");
  puts(namedisc);
  printf("Количество часов: %d\n",hours);
}
 
Disc :: Disc()
{
  namedisc[0]=0;
  hours=0;
}
 
Disc :: Disc(char *s, int h)
{
  strcpy(namedisc,s);
  hours=h;
}
 
Disc :: Disc(Disc &x)
{
  strcpy(namedisc,x.namedisc);
  hours=x.hours;
}
 
Disc :: Disc(char *s)
{
  strcpy(namedisc,s);
  hours=0;
}
 
Disc& Disc :: operator +=(char *h)
{
 strcat(namedisc,h);
 
 return *this;
 
}
Добавлено через 7 минут
Ай, проблему решил
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru