0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 16
1

Исправить функцию и\или класс

02.06.2012, 20:03. Показов 525. Ответов 8
Метки нет (Все метки)

Здравствуйте!
При разработке функции возникли ошибки, которые не могу исправить самостоятельно.
По заданию нужно написать 2 класса: деньги и товары, узнать стоимость товаров по формуле, вывести в Edit. Неполное условие, но остальное вроде получается.
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
//Tdengi.h
//---------------------------------------------------------------------------
 
#ifndef TdengiH
#define TdengiH
//---------------------------------------------------------------------------
 
class Tdengi
{
  int rubli;
  int kopeiki;
  float allSumm;
 
public:
//float Vivod();
Tdengi Stoimost(Tdengi &b, Ttovari &a);
void VvodRub(int &rubl);
void VvodKop(int &kops); 
};
#endif
 
//Tdengi.cpp
//---------------------------------------------------------------------------
 
 
#pragma hdrstop
 
#include "Tdengi.h"
#include "Ttovari.h"
#include <Math.hpp>
#include <math.h>
 
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
 
Tdengi Tdengi::Stoimost(Tdengi &b, Ttovari &a)
{
  Tdengi b = *this;
  Ttovari a = *this;
  b.allSumm *= a.kolich;
  return(b);
};
void Tdengi::VvodRub(int &rubl)
{
  rubli = rubl;
};
void Tdengi::VvodKop(int &kops)
{
  kopeiki = kops;
};
 
//Ttovari.h
//---------------------------------------------------------------------------
 
#ifndef TtovariH
#define TtovariH
//---------------------------------------------------------------------------
class Ttovari
{
  char name;
  int kolich;
  char nomer;
 
public:
void VvodName(char * &imya);
void VvodKolich(int &new_kolich);
void VvodNomer(char * &nomerr);
};
#endif
 
//Ttovari.cpp
//---------------------------------------------------------------------------
 
 
#pragma hdrstop
 
#include "Ttovari.h"
#include "Tdengi.h"
 
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
void Ttovari::VvodName(char * &imya)
{
   name = *imya;
};
void Ttovari::VvodKolich(int &new_kolich)
{
  kolich = new_kolich;
};
void Ttovari::VvodNomer(char * &nomerr)
{
  nomer = *nomerr;
};
Ошибки:
[C++ Error] Tdengi.h(15): E2303 Type name expected
[C++ Error] Tdengi.cpp(16): E2316 'Tdengi::Stoimost(Tdengi &, Ttovari &)' is not a member of 'Tdengi'
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2012, 20:03
Ответы с готовыми решениями:

Можно ли как то запустить функцию или класс которая находится ниже чем исполняемая функция или класс?
Можно ли как то запустить функцию или класс которая находится ниже чем исполняемая функция или...

Как переименовать класс или любую функцию или переменную в редакторе кода
Всем привет! Постоянно сталкиваюсь с такой проблемой, что неудачно называю класс или функцию....

Как исправить ошибку: Выражение должно представлять класс, структуру или объединение
Здравствуйте уважаемые! Пишу сортировку массива структур, содержащего данные аудио коллекции....

Как исправить ошибку? Сделать через Функцию или Процедуру
Написать метод, который в переданной строке заменят все строчные буквы на заглавные и наоборот. С...

8
59 / 56 / 8
Регистрация: 22.07.2011
Сообщений: 436
03.06.2012, 01:29 2
Ttovari.h включите в Tdengi.h
1
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 16
03.06.2012, 12:38  [ТС] 3
Спасибо, помогло. Но теперь вылезает такая ошибка:
[C++ Error] Tdengi.cpp(19): E2247 'Ttovari::kolich' is not accessible
0
4033 / 2323 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.06.2012, 13:01 4
C++
1
2
3
4
5
6
7
8
9
10
11
class Ttovari
{
  char name;
  int kolich;
  char nomer;
 
public:
void VvodName(char * &imya);
void VvodKolich(int &new_kolich);
void VvodNomer(char * &nomerr);
};
То, что объявляется в классе без спецификатора, по умолчанию считается объявленным в секции private, поэтому и недоступно извне класса.
0
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 16
03.06.2012, 13:34  [ТС] 5
А что мне нужно исправить тогда?
0
4033 / 2323 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.06.2012, 13:37 6
C++
1
2
3
4
5
6
7
8
9
10
11
class Ttovari
{
public:
  char name;
  int kolich;
  char nomer;
 
void VvodName(char * &imya);
void VvodKolich(int &new_kolich);
void VvodNomer(char * &nomerr);
};
Либо так как-то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Ttovari
{
  private:
  char name;
  int kolich;
  char nomer;
 
public:
int get_kolich() {return kolich;};
void set_kolich(int _kolich) {kolich = _kolich;};
void VvodName(char * &imya);
void VvodKolich(int &new_kolich);
void VvodNomer(char * &nomerr);
};
0
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 16
03.06.2012, 14:13  [ТС] 7
В public работает, но преподаватель так не примет, к сожалению. А второй вариант ту же ошибку выдаёт.
А почему он должен был заработать, кстати?
0
4033 / 2323 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.06.2012, 14:42 8
Цитата Сообщение от Leslie Посмотреть сообщение
А почему он должен был заработать, кстати?
А потому что надо было использовать функции get_kolich() и set_kolich(int), что, они там зря прописаны что ли?
0
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 16
03.06.2012, 15:31  [ТС] 9
Так я так и сделал. Всё равно ту же ошибку выдаёт.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2012, 15:31

Реализовать шаблонный класс или функцию
Опишите параметризованный класс односвязный список элементов (параметр – тип). Помогите с...

Передать в функцию COM структуру или класс
Добрый день. Пишу реализацию Com объекта на C# для вызова из C++ Функции вызываются с этим...

Стек. Исправить ошибки или добавить функцию удаления элемента из стека
Здравствуйте, не могли бы Вы мне помочь исправить ошибки и добавить простенькую функцию. Ошибки:...

Можно ли представить класс как функцию или процедуру
Кто может разжевать, а точнее указать где их применять, по книгами не совсем понятно(Шилтд, Фленов)...


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

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

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