ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.10.2009, 18:59
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

может сперва стоит прочитать книжку
 

  #2  
Старый 17.10.2009, 11:35
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

Репутация: 21
По умолчанию

Уважаемое сообщество посоветуйте пользовательский класс для работы со строками/текстом, если такой имееться, а именно интересует функции подсчета кол-ва слов в тексте, возможность замены слов и т.д.Спасибо.
 

  #3  
Старый 17.10.2009, 14:37
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме:
1576821

Репутация: 88
Отправить сообщение для Irdis с помощью ICQ
По умолчанию

http://www.cplusplus.com/reference/string/string/
для множества строк
http://www.cplusplus.com/reference/stl/list/
 

  #4  
Старый 17.10.2009, 19:15
Глюконатор
Новичок
Регистрация: 04.08.2008
Сообщений: 9
Провел на форуме:
60902

Репутация: 0
По умолчанию

Код:
int cpnum;

...

if (cpnum == 0) cout << "Orig.";
else cout <<  cpnum;
если написать так, то все норм, но если заменить if на
Код:
cout << cpnum == 0 ? "Orig." : cpnum;
то компилятор выдает ошибку
Цитата:
нет преобразования 'int' в 'const char *'
Почему так происходит?

visual studio 2008.
 

  #5  
Старый 17.10.2009, 20:49
t4Nk
Познающий
Регистрация: 23.09.2007
Сообщений: 75
Провел на форуме:
938032

Репутация: 86
По умолчанию

Цитата:
Сообщение от Глюконатор  
Код:
cout << cpnum == 0 ? "Orig." : cpnum;
Почему так происходит?
Ну во-первых у оператора "<<" приоритет больше, чем у "?:",
поэтому сначала выведется cpnum, а потом то, что вернет cout будет сравниваться с 0... вобщем надо заключать в скобки весь тернарный оператор.

А во-вторых подстановка шаблонов происходит во время компиляции, и тут подставляется "Orig", т.е. char а потом в него выводится int-вое значение. Потому и ругается.

В твоем случае лучше написать так:
Код:
(cpnum == 0) ? cout << "orig" : cout << cpnum;
 

  #6  
Старый 18.10.2009, 14:21
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию

Почему не могу использовать cout внутри класса ?

PHP код:

#include <stdio.h>
#include <conio.h>
#include <iostream>

class Sum {
      
      
int x,y,s;  //private method of access data
      
public:
      
      
void vhod_1(int x) { 5;cout << x;}
      
void vhod_2(int y) { 3;}
      
void summa();
      
      };
      
      
      
int main() { } 
 

  #7  
Старый 18.10.2009, 14:35
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию

Возникла ещё проблема - хочу без использования методов класса в мэйне вывести значение компонента х класса Sum,а мне метод возвращает адрес на этот компонент,а не его содержимое.Как исправить ?

PHP код:

#include <stdio.h>
#include <conio.h>
#include <iostream>

using namespace std;

class 
Sum {
      
      public:
             
      
int x,y,s;
      
int vhod_1(int x) { 5;}
      
int vhod_2(int y) { 3;}
      
      };
      
      
      
int main() {
          
      
Sum fuck,*= &fuck;
      
cout <<  -> vhod_1(5);
      
getch();
      
      } 
 

  #8  
Старый 18.10.2009, 14:55
t4Nk
Познающий
Регистрация: 23.09.2007
Сообщений: 75
Провел на форуме:
938032

Репутация: 86
По умолчанию

Цитата:
Сообщение от GenTao  
PHP код:
Sum fuck,*= &fuck;
cout <<  -> vhod_1(5); 
йопт, GenTao, на предыдущей странице писал про приоритет оператора "<<". В скобках надо писать:
std::cout << (s -> vhod_1(5));
 

  #9  
Старый 18.10.2009, 14:51
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
int vhod_1(int x) { x = 5;}
Ты здесь видишь что бы где то значение возвращалось? я нет.
 

  #10  
Старый 18.10.2009, 14:52
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию

А как же int перед методом ?Понял свою ошибку...А адрес вернулся на что ?На метод чтоли? Если так,то тогда как два метода могут размещаться по одному адресу ? У меня вернуло 2293116 или вроде того,когда я обращался к двум методам после двух компиляций.

Последний раз редактировалось GenTao; 18.10.2009 в 14:54..
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ