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

Работа с полями класса - C++

Восстановить пароль Регистрация
 
HAIRY
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 225
27.04.2014, 12:28     Работа с полями класса #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Account 
{     public:
      float  getBalance() { return Balance; }
      void   setBalance(float& b) { Balance = b; }
      private:
float  Balance;
};
int main()
{
Account a;
float b;
b=1000;
a.setBalance(b);
}
 
void test ()
{
как теперь работать со значением b, чтобы оно и в этой функции осталось 1000?
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
27.04.2014, 12:37     Работа с полями класса #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void test ( Account & );
 
int main()
{
Account a;
float b;
b=1000;
a.setBalance(b);
 
test( a );
}
 
void test ( Account & _a)
{
  float b( _a.getBalance( ) );
  cout << b;
}
HAIRY
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 225
29.04.2014, 16:22  [ТС]     Работа с полями класса #3
компилирую этот код
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
void test (Account &);
 
     class Account 
{     public:
      float  getBalance() { return Balance; }
      void   setBalance(float& b) { Balance = b; }
      private:
      float  Balance;
};
 
int main()
{
Account a;
float b;
b=1000;
a.setBalance(b);
 
test( a );
}
 
void test ( Account & a)
{
  float b( a.getBalance( ) );
  cout << b;
}
компилятор указывает на строку
C++
1
void test (Account &);
вот ошибки
6 C:\Dev-Cpp\teest.cpp variable or field `test' declared void
6 C:\Dev-Cpp\teest.cpp `Account' was not declared in this scope
6 C:\Dev-Cpp\teest.cpp expected primary-expression before ')' token
C:\Dev-Cpp\teest.cpp In function `int main()':
23 C:\Dev-Cpp\teest.cpp `test' cannot be used as a function
C:\Dev-Cpp\teest.cpp In function `void test(Account&)':
27 C:\Dev-Cpp\teest.cpp `void test(Account&)' redeclared as different kind of symbol
6 C:\Dev-Cpp\teest.cpp previous declaration of `int test'
6 C:\Dev-Cpp\teest.cpp previous non-function declaration `int test'
27 C:\Dev-Cpp\teest.cpp conflicts with function declaration `void test(Account&)'
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
29.04.2014, 18:57     Работа с полями класса #4
На момент объявления прототипа функции test тип Account у тебя еще не объявлен...
Yandex
Объявления
29.04.2014, 18:57     Работа с полями класса
Ответ Создать тему
Опции темы

Текущее время: 16:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru