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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ssergius
6 / 6 / 2
Регистрация: 10.03.2013
Сообщений: 48
#1

Пишет мусор в переменную класса, использование strcpy - C++

22.11.2014, 22:33. Просмотров 154. Ответов 3
Метки нет (Все метки)

Здравствуйте. Проблема такого рода:
из класса studentLogic из некой функции (метода) вызываю:

C++
1
2
3
4
5
6
7
    studentcl NewStudent("login", "sdf", "sdsdf", 12);
    
    List<studentcl> StudentList;
 
    StudentList.insertAtFront(NewStudent); //добавляем в стек
 
    StudentList.print();
Конструкторы копирования и конструктор:

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
studentcl::studentcl (char* loginBuff, char* firstNameBuff, char* lastNameBuff, int ageBuff) {
 
    login = new char[strlen(loginBuff)+1];
    strcmp (login, loginBuff);
 
    firstName = new char[strlen(firstNameBuff)+1];
    strcmp (firstName, firstNameBuff);
 
    lastName = new char[strlen(lastNameBuff)+1];
    strcmp (lastName, lastNameBuff);
 
    age = ageBuff;
 
    cout << "Констр" << endl;
 
}
 
studentcl::studentcl (const studentcl &student) {
 
    login = new char[strlen(student.login)+1];
    strcmp (login, student.login);
 
    firstName = new char[strlen(student.firstName)+1];
    strcmp (firstName, student.firstName);
 
    lastName = new char[strlen(student.lastName)+1];
    strcmp (lastName, student.lastName);
 
    age = student.age;
 
    cout << "Констр копир" << endl;
 
}
Это все class studentcl

сам класс:

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
#include <iostream>
 
using namespace std;
 
 
class studentcl {
 
    private:
        char* login;
        char* firstName;
        char* lastName;
        int age;
 
    public:
 
        studentcl() {
            login = NULL;
            lastName = NULL;
            firstName = NULL;
        }
 
        studentcl(char*, char*, char*, int);
        studentcl::studentcl(const studentcl &student);
        
        ~studentcl() {
            if ( login != NULL && lastName != NULL && firstName != NULL) {
                delete [] login;
                delete [] lastName;
                delete [] firstName;
            } else
                cout << "13\n";
        }
 
        /* GET методы */
        char* getLogin();
        char* getfirstName();
        char* getlastName();
        int getAge();
        
        /* SET методы */
        void setfirstName(char* );
        void setlastName(char* );
        void setAge(int );
 
        friend ostream& operator <<(ostream &os, const studentcl &student);
 
};
так же имеется реализованный связанный список (по дейтелу ,поэтому в том что там ошибка я не думаю).

Изображение: http://cs540109.vk.me/c625824/v62582...YNqUI3N8tU.jpg

Пишет мусор в переменную.

так же чтобы работал вывод, перегрузил оператор <<

C++
1
2
3
4
5
6
7
ostream& operator <<(ostream &os, const studentcl &student) {
 
    cout << "LAL";
    os<<"\n\t"<< student.lastName << endl;
    return os;
 
}
Хочу отметить, что с int все работает, значит нужно работать с char*, возможно где-то ошибка при выделении памяти/разрушении. Не могу понять. Будьте добры помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 22:33     Пишет мусор в переменную класса, использование strcpy
Посмотрите здесь:

Передать переменную из класса в класс - C++
Добрый день, следующая задача передать переменную из класса А в класс В class_a.h #ifndef CLASS_A_H #define CLASS_A_H ...

Изменить переменную методами класса - C++
Здравствуйте. У меня есть класс и в нем несколько функций. Class A { int x,r,color; A(int xx=1,int rr=1) { x=xx; ...

Ссылка на переменную другого класса - C++
Всем привет ! Хочу создать ссылку на переменную класса Animation. class PLAYER { public: .... float...

Как проинициализировать структурную переменную в конструкторе класса? - C++
К примеру у меня есть переменная p типа POINT. Такую запись он считает нелегальной: private: POINT p; public: MyClass()...

Ошибка в чтении класса из файла в переменную-буфер - C++
Я написал программу, суть которой заключается в следующем: dat файл заполняется объектами класса field, который имеет два динамических...

Дочерние классы используют переменную базового класса - C++
Здравствуйте. Такой вопрос: есть базовый класс, в котором определена переменная. Эта переменная используется двумя дочерними классами. ...

Не могу проверить переменную класса на соответствие NULL - C++
Здравствуйте. Есть переменная класса private char *pGetQuery; В конструкторе ей присваивается NULL pGetQuery = NULL; При...

Копирующий конструктор класса, содержащего переменную-член указатель - C++
Практикуюсь по книге Стенли Липпмана &quot;Язык программирования C++ вводный курс&quot; 4 изд. Упражнение 13.4. Используя приведенный ниже набросок...

Использование класса - C++
Доброго времени суток! Подскажите пожалуйста... Я как-то неправильно использую класс: #include &lt;windows.h&gt; class Timer { ...

Где объявлять переменную: перед циклом, или внутри класса - C++
Подскажите, где правильно объявить переменную. Если объявить внутри цикла, то сузится область ее видимости, но она будет объявляться...

Использование this в методе класса - C++
Добрый день! Пытаюсь написать класс красно-чёрного дерева. Вот фрагмент класса: class Tree { long value; Tree* parent; ...

Использование дружественного класса - C++
Нужно что бы классы стали общее дружеские вложенные классы поидее в книге написано можно добавить всего лишь к примеру friend class Remote;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7001 / 4172 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
22.11.2014, 22:35     Пишет мусор в переменную класса, использование strcpy #2
не strcmp, а strcpy
ssergius
6 / 6 / 2
Регистрация: 10.03.2013
Сообщений: 48
22.11.2014, 22:55  [ТС]     Пишет мусор в переменную класса, использование strcpy #3
Пардон) Я лол)
написал strcmp сравнение строк вместо strcpy закрываем тему! Люблю cyberforum!

Добавлено через 18 минут
Удалите, пожалуйста, этот стыд-позор)))
MrGluck
Модератор
Эксперт CЭксперт С++
7001 / 4172 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
22.11.2014, 23:53     Пишет мусор в переменную класса, использование strcpy #4
Цитата Сообщение от ssergius Посмотреть сообщение
Удалите, пожалуйста, этот стыд-позор)))
Темы по запросам пользователей не закрываются и не удаляются.
Yandex
Объявления
22.11.2014, 23:53     Пишет мусор в переменную класса, использование strcpy
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru