Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 10:12   #1
BadProgrammer
Пользователь
 
Аватар для BadProgrammer
 
Регистрация: 09.01.2010
Сообщений: 14
По умолчанию Как передать объект в функцию?

Здравствуйте!
Собственно, вопрос таков: есть функция, есть объект, созданный вне её, и нужно сделать так, чтобы функция могла обращаться/изменять переменные внутри объекта. Как это реализовать? Передачу переменных объекта как аргументов не предлагать.
BadProgrammer вне форума Ответить с цитированием
Старый 06.11.2010, 10:25   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

private переменные? Тогда нужно объявить функцию другом (friend).
pu4koff вне форума Ответить с цитированием
Старый 06.11.2010, 10:37   #3
BadProgrammer
Пользователь
 
Аватар для BadProgrammer
 
Регистрация: 09.01.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
private переменные? Тогда нужно объявить функцию другом (friend).
Нет, все public. Но дело в том, надо не обратиться к ним из функции, а именно передать объект или ссылку какую-нибудь на него. Т.е. функция не линейная, а объектов несколько.
P.S. а что такое "объявить другом"? Я не знаю =)
BadProgrammer вне форума Ответить с цитированием
Старый 06.11.2010, 11:17   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
class Point
{
public:
Point(int, int);
int X, Y;
};

void print1(Point P)
{
cout << "(" << P.X << ", " << P.Y << ")";
}
void print2(const Point& P)
{
cout << "(" << P.X << ", " << P.Y << ")";
}
void print3(Point* P)
{
cout << "(" << P -> X << ", " << P -> Y << ")";
}

int main()
{
Point P1(10, 10);
Point* P2 = new Point(20, 20);
print1(P1);
print2(P1);
print3(P1);
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 06.11.2010, 11:39   #5
BadProgrammer
Пользователь
 
Аватар для BadProgrammer
 
Регистрация: 09.01.2010
Сообщений: 14
По умолчанию

Гром, очень подробно, спасибо!
BadProgrammer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в timeSetEvent CALLBACK передать функцию класса ? Teksa Общие вопросы C/C++ 0 23.07.2010 11:21
Как передать в функцию указатель на String avd Общие вопросы C/C++ 6 06.06.2010 17:52
Как передать в функцию параметр разных типов borispnz Общие вопросы Delphi 5 06.02.2010 08:37
Как передать значение переменной из функции в ACCESSе в функцию в EXCELе? musicitsme Microsoft Office Access 1 01.04.2009 10:24
Как передать объект по наследству Legat Win Api 6 03.11.2007 11:19