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

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

Войти
Регистрация
Восстановить пароль
 
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
#1

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

27.06.2011, 22:07. Просмотров 595. Ответов 5
Метки нет (Все метки)

подскажите как во внешней функции, если в нее как параметр передан элемент класса, вызвать метод класса для этого самого элемента класса?

пишу вот это:
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++
Столкнулся со следующей проблемой. Пусть у меня есть некая внешняя функция, которая принимает в качестве аргумента указатель на функцию...

Передача переменных из функции в метод класса - C++
У меня есть главная функция и класс, в котором есть 2 функции. Как мне после выполнения 1-й функции с класса вывести с нее 3 переменных...

Аргумент функции - указатель на метод класса - C++
Здравствуйте. Содержание задания - написать программу, создающую копию выбранного пользователем файла при помощи n-го кол-ва потоков...

Как передать функции через метод класса - C++
Добрый вечер всем! Столкнулся с проблемкой К примеру у меня есть 3 функции.Я хочу в 4 функцию дать массив названий этих 3...

Как передать метод класса в качестве параметра функции - C++
Это типа &quot;бот&quot;, он работает (&quot;шагает&quot; по заданному полю) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;time.h&gt; #include...

Создать на основе класса дополнительный метод из функции main() (односвязные списки) - C++
//Ñîñòàâèòü ïðîãðàììó, êîòîðàÿ â ñïèñêå L çàìåíÿåò ïåðâîå âõîæäåíèå ñïèñêà L1 (åñëè òàêîå åñòü) íà ñïèñîê L2. #include &lt;iostream&gt; ...

Как в методе класса вызвать другой метод того же класса? - C++
class mate { public: int AplusB(int A, int B) { return A+B; } int AplusBplusC(int A, int B, int C)

Может ли метод класса возвращать экземпляр этого же класса? - C++
такой вопрос, реально что бы функция класса имела тип класса(возвращала класс), то есть типа так: class c1{ c1 f1(); } если да, то...

Объявление внешней функции в namespace - C++
Собственно в файле 1 есть функция namespace Calculation { void Calc() {} } В файле 2: extern void Calculation::Calc(); ...

Как обнулить массив из внешней функции? - C++
Здравствуйте. Нужно составить функцию, которая обнуляет массив, переданный по ссылке. У меня не получается это сделать. Помогите. ...

Есть метод класса внутри , есть проверка. Если условие сходится то метод должен выдать указатель, иначе булевую переменную - C++
Есть метод класса внутри которого, посередине, есть проверка. Если условие сходится то метод должен выдать указатель на вектор, а если нет...

Как обраиться к функции класса через другую функцию класса (друга)? - C++
Пример кода: #include &lt;iostream&gt; using namespace std; class Sasha; class Petya { public: friend class Sasha; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
27.06.2011, 22:16     метод класса во внешней функции #2
если ShowName - метод класса, почему вызываете A.ShowName, а не A.ShowName()?
schdub
2940 / 1284 / 238
Регистрация: 19.01.2009
Сообщений: 3,358
Завершенные тесты: 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
2940 / 1284 / 238
Регистрация: 19.01.2009
Сообщений: 3,358
Завершенные тесты: 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     метод класса во внешней функции
Ответ Создать тему
Опции темы

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