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

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
#1

как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован? - C++

17.01.2011, 01:11. Просмотров 532. Ответов 3
Метки нет (Все метки)

Друзья! Вот код, компилятор ругается на строку ff (f3);
В общем переменную f3 необходимо объявлять без параметров, а потом передавать её в функцию.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using namespace std;
 
class Fraction {
public:
 Fraction() {int g= 0;}
 friend void ff (Fraction &fr);
};
 
 
int main() {
 Fraction f3();
 ff (f3);
 return 0;
}
 
void ff (Fraction &fr) {};
Чё-то я не припомню ограничения в синтаксисе на такую передачу параметров. И потом: f3 не фикция, а реально существующий объект, ну и что, что созданый без параметров? В нём определена переменная g и под неё выделена память и она инициализирована. Так что f3- полноценный объект, непонятно почему компилятор ругается на такой вызов ff. Спасибо тык скыть заранее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 01:11     как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован?
Посмотрите здесь:

C++ Функция, дружественная классу, вложенному в шаблонный класс, или как написать итератор.
C++ Как сделать, чтобы функции работали "независимо" одна от другой?
Как сделать чтобы печатало "" C++
Как сделать чтобы при нажатии на кнопку "PlayWarcraft" заходил на мой сервер через IP adress C++
C++ Дружественная функция шаблон и ошибка "Ссылка на неразрешенный внешний символ"
Как через "IF" сделать чтобы программа закрывалась после ввода неверного значения C++
Как сделать, чтобы "*" принимали как обычную переменную? C++
C++ Класс "Человек" + дружественная функция сравнения по возрасту
Как сделать, чтобы появлялось сообщение "Массив не создан", если не задано положительное число ранга матрицы C++
C++ Как сделать чтобы после выбора "case" менюшка открывалась заново?
Как сделать, чтобы когда в строке встречалось слово "*Физика", программа выводила эту строку? C++
C++ Как заполнить динамический массив типа "Класс"?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
17.01.2011, 02:32     как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован? #2
Распространенная ошибка.
C++
1
2
Fraction f3(); // прототип функции
Fraction f3; // создание объекта с использованием конструктора по-умолчанию
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
17.01.2011, 02:48  [ТС]     как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован? #3
Большое спасибо.
А прототип какой функции?

То есть я так понимаю, что я объявляю (невльно) функцию f3, которая возвращает переменную типа Fraction и не принимает ни одного параметра. Так?
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
17.01.2011, 03:18     как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован? #4
Цитата Сообщение от kravam Посмотреть сообщение
То есть я так понимаю, что я объявляю (невльно) функцию f3, которая возвращает переменную типа Fraction и не принимает ни одного параметра. Так?
Именно так.

Добавлено через 2 минуты
С++ просто создан для того, чтобы на нем ошибаться.
Yandex
Объявления
17.01.2011, 03:18     как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован?
Ответ Создать тему
Опции темы

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