Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
#1

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

17.01.2011, 01:11. Просмотров 574. Ответов 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. Спасибо тык скыть заранее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 01:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как сделать чтобы дружественная функция классу принимал ааргумент типа "класс" который при создании ничем не инициализирован? (C++):

Функция, дружественная классу, вложенному в шаблонный класс, или как написать итератор. - C++
Здравствуйте! Пишу аналог STL vector. Возникают следующие ошибки: source.cpp:11: error: expected initializer before ‘operator’ ...

Класс "Человек" + дружественная функция сравнения по возрасту - C++
Создать класс человек и к нему дружественную функцию сравнения по возрасту (сравнение 2-х человек) class Human { private: ...

Нужно сделать так, чтобы при вводе числа, выводило "рублей" или "рубль" - C++
Начал решать задачу и засох на средине, не выходить формулу написать,если не сложно,подскажите) с с++ знаю пока что if,else и swith) //...

Дружественная функция шаблон и ошибка "Ссылка на неразрешенный внешний символ" - C++
#include <iostream> using namespace std; template<class T> class random; template<class T> void f(random<int>); ...

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include <iostream> using namespace std; int main() {int a=0,b=0; int i=0; cout<<"Vvedite i="<<endl; cin>>i; ...

Как сделать так, чтобы введенное с клавиатуры слово "helllo" в памяти сохранялось в виде "Hello". - C++
Здравствуйте. Подскажите пожалауйста как сделать чтоб согда я вводу с клавиатуры helllo, в памяти оставалось "Hello". Данные типа...

3
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
17.01.2011, 02:32 #2
Распространенная ошибка.
C++
1
2
Fraction f3(); // прототип функции
Fraction f3; // создание объекта с использованием конструктора по-умолчанию
1
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
17.01.2011, 02:48  [ТС] #3
Большое спасибо.
А прототип какой функции?

То есть я так понимаю, что я объявляю (невльно) функцию f3, которая возвращает переменную типа Fraction и не принимает ни одного параметра. Так?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
17.01.2011, 03:18 #4
Цитата Сообщение от kravam Посмотреть сообщение
То есть я так понимаю, что я объявляю (невльно) функцию f3, которая возвращает переменную типа Fraction и не принимает ни одного параметра. Так?
Именно так.

Добавлено через 2 минуты
С++ просто создан для того, чтобы на нем ошибаться.
0
17.01.2011, 03:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2011, 03:18
Привет! Вот еще темы с ответами:

Как сделать так, чтобы scanf в переменную double мог считывать с клавиатуры не только "0,01", но и "0.01" - C++
Помогите!) Не знаю, искал, не нашел, возможно ли вообще. Чтобы и так и так понимал.

Как сделать чтобы при нажатии на кнопку "PlayWarcraft" заходил на мой сервер через IP adress - C++
ссылка https://code.google.com/p/wc3launcher/ ЛАунчер для сервера Как сделать чтобы при нажатии на кнопку "PlayWarcraft"...

Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива. - C++
Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива. ...

Как заполнить динамический массив типа "Класс"? - C++
Есть класс: фамилия, должность, год #include <string.h> #include <iostream> #include <stdio.h> #include <stdlib.h> #define...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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