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

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

Войти
Регистрация
Восстановить пароль
 
Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 166
#1

Не работает прорамма с классами - C++

21.10.2013, 22:16. Просмотров 314. Ответов 4
Метки нет (Все метки)

Не могу понять где ошыбка и как ее исправить . Друзья, помогите пожалуйста
1>------ Построение начато: проект: ConsoleApplication2, Конфигурация: Debug Win32 ------
1> flower.cpp
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower.h(28): error C2059: синтаксическая ошибка: {
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower.h(28): error C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower.cpp(18): error C2065: a: необъявленный идентификатор
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower.cpp(25): error C2065: a: необъявленный идентификатор
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========



Описание ф-ий
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <cctype>
#include "flower.h"
 
using namespace std;
 
int flower::count = 0;
 
bool flower::month(int n)
{   if((n<=0)&&(n>=12)) return false;
    name_month=a[n-1];
    return true;
}
 
bool flower::month(string s)
{
    for(int i=0; i<12;i++)
    {   if(s==a[i])
    numb_month=i+1;
    return true;}
    return false;
}
 
char* flower::month()
{
    return name_month;
}
 
void flower::set_color(char*s)
{
    color=s;
}
 
char* flower::get_color()
{
    return color;
}
 
void flower::set_number(int s)
{
    number=s;
}
 
int flower::get_number()
{
    return number;
}
 
flower::flower()
{cout<<"Konstryktor\n";
name=0;
color=0;
number=0;
}
 
flower::flower(flower &m)
{
    cout<<"Konstructor kopiyvannia\n";
    name=new char[strlen(m.name)+1];
    color=new char[strlen(m.color)+1];
    number=m.number;
    strcpy(name, m.name );
    strcpy(color,m.color);
    count ++;
}
 
flower::flower(char*ptr,char*l, int d)
{cout<<"Konstryktor z parrametramu\n";
int len=strlen(ptr);
int dow=strlen(l);
name=(char*) malloc(len+1);
color=(char*) malloc(dow+1);
number=d;
strcpy(name,ptr);
strcpy(color,l);
}
main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "flower.h"
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cctype>
 
using namespace std;
 
void main()
{flower kvit_1(), kvit_2("rosa","red",2), kvit_3(kvit_2);
 
 
system("pause");
}
Заголовочный файл
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
#ifndef flower_h_
#define flower_h_
 
 
#include<iostream>
#include <string>
using namespace std;
 
class flower
{
private:
    int number;
    static int count;
protected:
    char *color;
public:
    char *name;
    char*name_month;
    int numb_month;
 
    flower();
    flower(char*,char*, int);
    flower(flower &);
 
    string a[12]={"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"}
 
    void set_color(char*);
    char*get_color();
    void set_number(int);
    int get_number();
    bool month(int );
    bool month(string);
    char*month ();
    
    static int get_count()
{
    return count;
};
    
};
 
#endif
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 22:16     Не работает прорамма с классами
Посмотрите здесь:

Работает ли Кириллица с классами? - C++
Почему-то всё корректно отображается на русском, кроме параметра, который выходит из класса. main.h: class Person { public: ...

Работа с классами. Не работает Кириллица. Истина рядом - C++
Работаю в Microsoft Visual Studio 2010. Кириллица везде работает, кроме одного момента. Подозреваю на то, что классы не умеют работать...

Как работает ссылка с объектами, классами и перегруженным оператором [] - C++
Я тут решил поиграться с кодом и понял что совершенно не догоняю как работает ссылка &amp; Есть код нормально работающий: #include...

Работа с классами - C++
Здравствуйте, я здесь первый раз, если что извините, за неккоректность, ввода или задания вопроса Я написал (например): class Figure...

Работа с классами - C++
Добрый день! Я столкнулся с проблемой которую не могу решить.Суть проблемы заключается в том что в классе Interface реализуется некая...

Работа с классами - C++
Имеется заголовочный файл В нем создаю два класса Vector и MyCamera. class Vector { public: float x,y,z; }; ...

Непонятки с классами - C++
Народ, уже всё перерыл, впервые с проблемой столкнулся :( Создаю консольное приложение: файл class.h #pragma once class Order{ ...

Работа с классами - C++
Помогите плз Определите значение переменных а, х, с после выполнения следующих команд: class First { int value; public: ...

Ошибки с классами - C++
При создании объекта класса (VSquare) выдает ошибку: ISO C++ forbids declaration of 'VSquare' with no type В чем может быть проблема?

Работа С Классами - C++
Привет Всем , Перехожу С делфи ))) Вот никак не пойму Вот Эту хрень в нутри класса Обрывок из струпа ...

Работа с классами - C++
Программа работает некорректно... не выводит студентов введенных с клавиатуры.... :( выводит только и сравнивает только этих: ...

Проблема с классами - C++
У меня возникла проблема с недопониманием классов в С++ помогите пожалуйста !!! в icq 437551173 ;)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Рыжий Лис
Просто Лис
262 / 209 / 55
Регистрация: 17.05.2012
Сообщений: 849
Записей в блоге: 4
23.10.2013, 19:31     Не работает прорамма с классами #2
Здесь точку с запятой поставить
C++
1
string a[12]={"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"};
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.10.2013, 19:42     Не работает прорамма с классами #3
Методы bool flower::month(int n) и bool flower::month(string s) не видят определения массива a. Видимо его стоит вынести за пределы класса (сделать глобальным).

Добавлено через 7 минут
Хотя нет, я ошибся, в этом нет необходимости.
Достаточно исправить ошибку о которой говорил Рыжий Лис.
yaskiv
6 / 6 / 1
Регистрация: 08.04.2013
Сообщений: 37
24.10.2013, 01:31     Не работает прорамма с классами #4
Цитата Сообщение от castaway Посмотреть сообщение
Методы bool flower::month(int n) и bool flower::month(string s) не видят определения массива a. Видимо его стоит вынести за пределы класса (сделать глобальным).

Добавлено через 7 минут
Хотя нет, я ошибся, в этом нет необходимости.
Достаточно исправить ошибку о которой говорил Рыжий Лис.
всеравно не работает

Добавлено через 54 минуты
Оксана 1234, если нашли решение, скиньте пожалуйста.
Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 166
24.10.2013, 02:08  [ТС]     Не работает прорамма с классами #5
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <cctype>
 
using namespace std;
 
string a[12] = {"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"};
 
class flower
{
private:
    int number;
    static int count;
protected:
    char *color;
public:
    char *name;
    const char*name_month;
    int numb_month;
 
    flower();
    flower(char*,char*, int);
    flower(flower &);
 
    void set_color(char*);
    char*get_color();
    void set_number(int);
    int get_number();
    bool month(int );
    bool month(string);
    const char*month ();
    
    static int get_count()
    {
        return count;
    };
    
};
 
int flower::count = 0;
 
bool flower::month(int n)
{   if((n<=0)&&(n>=12)) return false;
    name_month = a[n - 1].c_str();
    return true;
}
 
bool flower::month(string s)
{
    for(int i=0; i<12;i++)
    {   if(s==a[i])
    numb_month=i+1;
    return true;}
    return false;
}
 
const char* flower::month()
{
    return name_month;
}
 
void flower::set_color(char*s)
{
    color=s;
}
 
char* flower::get_color()
{
    return color;
}
 
void flower::set_number(int s)
{
    number=s;
}
 
int flower::get_number()
{
    return number;
}
 
flower::flower()
{cout<<"Konstryktor\n";
name=0;
color=0;
number=0;
}
 
flower::flower(flower &m)
{
    cout<<"Konstructor kopiyvannia\n";
    name=new char[strlen(m.name)+1];
    color=new char[strlen(m.color)+1];
    number=m.number;
    strcpy(name, m.name );
    strcpy(color,m.color);
    count ++;
}
 
flower::flower(char*ptr,char*l, int d)
{cout<<"Konstryktor z parrametramu\n";
int len=strlen(ptr);
int dow=strlen(l);
name=(char*) malloc(len+1);
color=(char*) malloc(dow+1);
number=d;
strcpy(name,ptr);
strcpy(color,l);
}
 
void main()
{flower kvit_1(), kvit_2("rosa","red",2), kvit_3(kvit_2);
 
 
system("pause");
}
Yandex
Объявления
24.10.2013, 02:08     Не работает прорамма с классами
Ответ Создать тему
Опции темы

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