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

метод класса во внешней функции - C++

Восстановить пароль Регистрация
 
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
27.06.2011, 22:07     метод класса во внешней функции #1
подскажите как во внешней функции, если в нее как параметр передан элемент класса, вызвать метод класса для этого самого элемента класса?

пишу вот это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void ShowZaryad(Chastica A,Chastica B,Chastica C)     //выводит на консоль данные по заряду частицы
{
    int N;
    cout<<"zaryad_kakoi_chastici_vivisti? "<<A.ShowName<<" najmite 1; "<<B.ShowName<<" najmite 2; "<<C.ShowName<<" najmite 3;"<<endl;
    cin>>N;
    if(N==1)
        A.ShowZaryad<<endl;
    else if(N==2)
        B.ShowZaryad<<endl;
    else
        C.ShowZaryad<<endl;
}
пишет что вот тут использован не элемент класса ->
C++
1
2
3
A.ShowName
B.ShowName
C.ShowName
ну и соответственно когда вызываю метод ShowZaryad аналогичная ошибка. ShowName это метод класса, записан в public
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2011, 22:07     метод класса во внешней функции
Посмотрите здесь:

C++ Как описать метод класса? Как двумя способами описать инлайнируемый метод класса? Что такое this?
C++ Какими способами можно использовать функции класса B, как параметры функции Sub класса А?
Как передать метод класса в качестве параметра функции C++
Как передать функции через метод класса C++
C++ Аргумент функции - указатель на метод класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no0ker
100 / 87 / 4
Регистрация: 17.12.2010
Сообщений: 416
27.06.2011, 22:16     метод класса во внешней функции #2
если ShowName - метод класса, почему вызываете A.ShowName, а не A.ShowName()?
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,214
Завершенные тесты: 1
27.06.2011, 22:37     метод класса во внешней функции #3
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
вызвать метод класса
в С++ нет методов - только функции.

deamonSuitUp, если у функции нет аргументов, то скобки после ее имени все равно обязательны - это не Pascal.
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
27.06.2011, 22:41  [ТС]     метод класса во внешней функции #4
спс, все норм, правда терь пишет что в этой строке -
C++
1
cout<<"zaryad_kakoi_chastici_vivisti? "<<A.ShowName()<<" najmite 1; "<<B.ShowName()<<" najmite 2; "<<C.ShowName()<<" najmite 3;"<<endl;
бинарный "<<" : не найден оператор, принимающий правый операнд типа "void" (или приемлемое преобразование отсутствует

Добавлено через 48 секунд
Цитата Сообщение от schdub Посмотреть сообщение
deamonSuitUp, если у функции нет аргументов, то скобки после ее имени все равно обязательны - это не Pascal.
да, со скобками как ребенок налажал
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,214
Завершенные тесты: 1
27.06.2011, 22:45     метод класса во внешней функции #5
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
бинарный "<<" : не найден оператор, принимающий правый операнд типа "void" (или приемлемое преобразование отсутствует
функция ShowName() должна возвращать значение.
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
27.06.2011, 22:47  [ТС]     метод класса во внешней функции #6
выровнял все, дело было в написании вспомогательных методов

Добавлено через 51 секунду
ну в смысле "всомогательных" функций класса. они были типа void и в них был cout
Yandex
Объявления
27.06.2011, 22:47     метод класса во внешней функции
Ответ Создать тему
Опции темы

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