Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ работа с классами, i need in your help) 
:(
    Опции темы
JTV
Дата 17.5.2012, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 31.10.2011

Репутация: нет
Всего: нет



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

#include <iostream> 
#include <conio.h>
#define N 2
using  namespace std;
 class market

     char *firma;
    public: 
     void show(char *f)
     { 
        cout<<firma<<" ";
     } 
    void set(char *f)
    {
        firma=f;
    }
};

 
 int main() 
 {  int i;
    char *a=new char[100];
    market myprogram[N];
    for(i=0;i<N;i++)
    {
        cout<<"firma=";
        cin>>a;
        myprogram[i].set(a);
        delete [] a;
        a=new char[100];
    }
    for(i=0;i<N;i++)
    { 
        myprogram[i].show(a);
    }
    delete [] a;
    getch();
    return 0; 
 } 


PM MAIL   Вверх
disputant
Дата 18.5.2012, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 28.11.2011

Репутация: нет
Всего: 3



Так вы же сохраняете указатель на область памяти, которую тут же освобождаете...
По-хорошему в market::set строку надо копировать.

Впрочем, это не имеет значения, так как потом вы им не пользуетесь... Вы же в цикле выводите одну и ту же только что выделенную и никак не инициализированную область памяти a... вы точно в market::show так и намеревались выводить - передаваемую строку, а не firms?...


Это сообщение отредактировал(а) disputant - 18.5.2012, 05:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.