Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
LOLYOU1996
3 / 3 / 0
Регистрация: 25.08.2013
Сообщений: 39
#1

Ошибка в классе - C++

15.02.2014, 12:29. Просмотров 218. Ответов 2
Метки нет (Все метки)

Доброго времени суток! Недавно прочитал тему классы, посмотрел и инете видео-урок и решил закрепить материал созданием класса.

Films.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
namespace films{
 
    class Films
    {
    private:
        char* Name;
        char* Genre;
        double Rating;
 
    public:
        Films(void);
        Films(char*,char*, double);
        void  setName(char*);
        char* getName();
        void  setGenre(char*);
        char*  getGenre();
        void  setRating(int);
        int   getRating();
        ~Films(void);
    };
 
}
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
Films.cpp#include "Films.h"
 
namespace films{
    Films::Films(void){
    }
 
    Films::Films(char* name,char* genre, double rating){
        name = Name; genre = Genre, rating = Rating;
    }
 
    void Films::setName(char* name){
        Name = name;
    }
 
    char* Films::getName(){
        return Name;
    }
 
    void  Films::setGenre(char* genre){
        genre = Genre;
    }
 
    char* Films::getGenre(){
        return Genre;
    }
 
    void  Films::setRating(int rating){
        Rating = rating;
    }
    int   Films::getRating(){
        return Rating;
    }
 
    Films::~Films(void){
    }
}
Исходный код.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include "Films.h"
 
using namespace std;
using namespace films;
 
int main(){
 
    Films a("Astral","yjas",9.50);
 
    cout << "Name: " << a.getName() << "\nGenre: " <<  a.getGenre() << "\nRating: " <<  a.getRating() << endl;
 
 
    system("PASUE");
    return 0;
}
Ошибка при запуске программы, компилятор не ругается.
Необработанное исключение по адресу 0x01314B41 в ConsoleApplication2.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC.

Хелп!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 12:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в классе (C++):

Ошибка в классе - C++
Source.cpp: #include &quot;Str.h&quot; int main() { Str a; } Str.h:

Ошибка в классе - C++
У меня есть класс Player и класс Poker Прототип Player class Player { protected: string name; int money; int...

Ошибка в классе - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; class Element { public: ...

Ошибка в классе - C++
Не могу понять где ошибка вот код: #include &lt;iostream&gt; using namespace std; class time { private: int chas; ...

Ошибка в классе - C++
Добрый вечер! Кому не сложно помогите, пожалуйста, найти ошибку! Не правильно прибавляет вектора. ...

Ошибка в классе - C++
#include &quot;Eliptic_arc.h&quot; void Eliptic_arc::set_val(char name, int val) { } int Eliptic_arc::get_val(char name) { ...

2
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
15.02.2014, 12:43 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
LOLYOU1996, конструктор неправильно написан. правильно так:
C++
1
2
Films::Films(char* name,char* genre, double rating):
      Name(name), Genre(genre), Rating(rating){}
или
C++
1
2
3
 Films::Films(char* name,char* genre, double rating){
        Name = name; Genre = genre, Rating = rating;
    }
Добавлено через 1 минуту
LOLYOU1996, Вы просто в конструкторе присваивали аргументам значение полей класса, а надо наоборот)
1
LOLYOU1996
3 / 3 / 0
Регистрация: 25.08.2013
Сообщений: 39
15.02.2014, 12:57  [ТС] #3
Цитата Сообщение от metaluga145 Посмотреть сообщение
LOLYOU1996, конструктор неправильно написан. правильно так:
C++
1
2
Films::Films(char* name,char* genre, double rating):
      Name(name), Genre(genre), Rating(rating){}
или
C++
1
2
3
 Films::Films(char* name,char* genre, double rating){
        Name = name; Genre = genre, Rating = rating;
    }
Добавлено через 1 минуту
LOLYOU1996, Вы просто в конструкторе присваивали аргументам значение полей класса, а надо наоборот)
О господи... Какая глупая ошибка, аж стыдно стало
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2014, 12:57
Привет! Вот еще темы с ответами:

Ошибка в классе - C++
#pragma once #include &lt;iostream&gt; using namespace std; class Drob { private: int num; unsigned int den; int Drob::GCD(int...

Ошибка в классе - C++
Есть мойкласс. Когда создаю объект этого класса, проэкт не компилируется из-за ошибки: мойкласс does not name a type мойкласс...

Ошибка в дочернем классе - C++
Не могу найти ошибку в дочернем классе, возможно не правильно написать main Задание и код: Код нужно переписывать в сообщение Только...

Ошибка перегрузки + в классе - C++
Не понимаю в чём проблема, ошибка возникает во время работы программы, сообщает что продолжается запись после работы этого блока. ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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