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

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

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

  #4001  
Старый 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();
      
      } 
 
Ответить с цитированием

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

Репутация: 414


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

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

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

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

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

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

  #4004  
Старый 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));
 
Ответить с цитированием

  #4005  
Старый 18.10.2009, 15:25
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

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

PS: x - не компонента. это поле, член данное. В какой буке поле называют компонентой?
 
Ответить с цитированием

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

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

Компонент х всмысле переменная).А книга наз. Программирование на С++ Хоменко какого-то
 
Ответить с цитированием

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

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

Хотел написать простенькую програмульку которая читает из файла строки и по указанному раделителю заносит результат в другой файл.

Пример:
входной файл
тратата : не нужная ***ня
выходной
тратата

вот код, он компилируеться, но при выполнении выдает ошибку str2 being used without beiing defined.
Может дело в файле или еще что-то

вот сам код
Код:
// word_parser.cpp : Defines the entry point for the console application.
//


#include <iostream>
using namespace std;

int main()
{
	FILE *fp,*fp2;
	unsigned int t;
	char buff[100],*str,*str2;
	
	
	fp=fopen("keys.txt","r+");
	fp2=fopen("key_pasrse.txt","w+");
	while(!feof(fp)){
		str=fgets(buff,100,fp);
		t=strspn(str,":");
		strncpy(str2,str,t+1);
		fputs(str2,fp2);
		
	}

	return 0;
Спасибо.
 
Ответить с цитированием

  #4008  
Старый 19.10.2009, 01:55
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

str2 - указатель, содержащий мусор(пару постов выше прочитай мой). ты используешь переменную не задав ей значения. в данном случае ты пытаешься писать в хзкакой участок памяти.
 
Ответить с цитированием

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

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

2Ra$cal

Я пробовал str2= new char[100];
тогда просто при выполнении выдавало ошибку и предлагала дизасемблировать. Уже начал заниматься шаманством, но помоему вредный процесс работа программы это же не волшебство. Так что взываю к сообществу, направить на путь.
 
Ответить с цитированием

  #4010  
Старый 19.10.2009, 02:15
ichechen
Познающий
Регистрация: 16.10.2009
Сообщений: 40
Провел на форуме:
152013

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

Цитата:
Сообщение от Gin  
2Ra$cal

Я пробовал str2= new char[100];
тогда просто при выполнении выдавало ошибку и предлагала дизасемблировать. Уже начал заниматься шаманством, но помоему вредный процесс работа программы это же не волшебство. Так что взываю к сообществу, направить на путь.
Я не знаю ни С не С++, и все таки, а нельзя сделать что то вроде:
str=str.Replace(':','\n') ?
Это я написал как на C# но думаю функция Replace и в С должна быть)))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ