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

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

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

Что писать при вызове функции, если передаю всю структуру? - C++

05.03.2017, 21:01. Просмотров 305. Ответов 20
Метки нет (Все метки)

Я создал структуру:
C++
1
2
3
4
5
struct Time {
    double plain;
    double hills;
    double desert;
};
А так же классы с этой структурой:
C++
1
2
3
4
5
class Kamaz {
private:
    char *name;
    Time kamaz;
    friend int FrGreater(Time kamaz, Time tatra);
C++
1
2
3
4
5
class Tatra {
private:
    char *name;
    Time tatra;
    friend int FrGreater(Time kamaz, Time tatra);
А вот как ее вызвать в main?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2017, 21:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что писать при вызове функции, если передаю всю структуру? (C++):

Класс - Ошибки при вызове методов: В вызове функции отсутствует список аргументов - C++
Добрый вечер всем! При изучении и написании работы столкнулся с ошибкой от которой не могу избавиться. (Т.к. очень сильно плаваю в ООП)....

Что делать, если хочется писать программы на заказ? - C++
Хачю писать програми на заказ, посоветуйти мне што нибуть

Почему выдает 0, и что надо исправить в вызове функции? - C++
#include <stdio.h> #include <math.h> int ch1,ch2,osn, summa,PROI,PR,pr ; int Perevert(int x)// { int xp = 0; ...

Что происходит при вызове? - C++
class A { ... }; void f(A &a) { ... } A a; ...

Слишком много аргументов в вызове функции, подчеркивает то что красным - C++
KVITANSIA.H class KVITANTSIA { public: int number; // номер int day, month, year; // дата float sum; // сума public:

Ошибка при вызове функции - C++
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта...

20
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
05.03.2017, 21:05 #2
Создай структуру перед вызовом и передавай. Или фигурные скобки используй.
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:06  [ТС] #3
Цитата Сообщение от nmcf Посмотреть сообщение
Создай структуру перед вызовом и передавай. Или фигурные скобки используй.
Эм, не понял. Я хотел спросить, что я должен указывать при вызове в качестве аргументов
0
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
05.03.2017, 21:07 #4
Вопрос о синтаксисе или о логике программы? Второе только тебе известно.
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:08  [ТС] #5
Цитата Сообщение от nmcf Посмотреть сообщение
Вопрос о синтаксисе или о логике программы? Второе только тебе известно.
Синтаксис.
C++
1
2
3
4
5
6
int main() {
    setlocale(LC_ALL, "russian");
    FrGreater(???????, ????????);
    system("pause");
    return 0;
}
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
05.03.2017, 21:09 #6
C++
1
2
3
Kamaz k;
Tatra t;
FrGreater(k.kamaz, t.tatra);
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:13  [ТС] #7
Цитата Сообщение от nd2 Посмотреть сообщение
Kamaz k;
Tatra t;
Это что?
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
05.03.2017, 21:14 #8
Цитата Сообщение от DenKG Посмотреть сообщение
Это что?
Объекты классов.
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:16  [ТС] #9
Цитата Сообщение от nd2 Посмотреть сообщение
Объекты классов.
Так объекты у меня Time kamaz; и Time tatra;
Как мне в этом случае вызывать?
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
05.03.2017, 21:18 #10
Цитата Сообщение от DenKG Посмотреть сообщение
Так объекты у меня Time kamaz; и Time tatra;
Они и передаются в функцию. Глаза разуй:
Цитата Сообщение от nd2 Посмотреть сообщение
C++
1
FrGreater(k.kamaz, t.tatra);
Я же не k и t передаю.
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:26  [ТС] #11
Цитата Сообщение от nd2 Посмотреть сообщение
Они и передаются в функцию
Не получается Похоже, мне пора на пенсию
Чтобы мозги людям не делать, просто выложу проект)
0
Вложения
Тип файла: rar Source.rar (657 байт, 2 просмотров)
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:37  [ТС] #12
Цитата Сообщение от nd2 Посмотреть сообщение
Я же не k и t передаю.
Так у меня ведь дружественная функция.
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
05.03.2017, 21:46 #13
Цитата Сообщение от DenKG Посмотреть сообщение
Так у меня ведь дружественная функция.
Знаю. Была бы не дружественная, то и доступа к k.kamaz и t.tatra не было бы. А так есть!
0
DenKG
1 / 1 / 0
Регистрация: 23.12.2015
Сообщений: 553
05.03.2017, 21:46  [ТС] #14
Цитата Сообщение от nd2 Посмотреть сообщение
Знаю. Была бы не дружественная, то и доступа к k.kamaz и t.tatra не было бы. А так есть!
Ну тогда я совсем не понимаю
У меня не получается
0
nd2
2820 / 2390 / 851
Регистрация: 29.01.2016
Сообщений: 8,004
05.03.2017, 21:51 #15
Цитата Сообщение от DenKG Посмотреть сообщение
просто выложу проект)
Насчёт начала в main(), смотри 6 пост. Только, перед вызовом FrGreater(k.kamaz, t.tatra), нужно для каждого объекта вызвать speed(). Ну, и как-то разобраться с обработкой результатов сравнений в FrGreater(): или внутри функции выводить результат сравнений, или возвращать из функции объект Time, с результирующими полями, и уже в main обрабатывать результат.
0
05.03.2017, 21:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2017, 21:51
Привет! Вот еще темы с ответами:

Ошибка при вызове функции - C++
Ошибка в строке 90, при пошаговом выполнении она появляется при вызове функции, до захода в нее, хотя список сформирован правильно, т.к. до...

Проблема при вызове функции - C++
Написал для себя простенькую напоминалку, выводящую указанное сообщение через определённый промежуток времени(ну там, "отойди от компа,...

Ошибка при вызове функции - C++
Добрый день! Есть функция по расчету детерминанта int _det(int size,double **arr,double &det) { int i,j,k; det=1; double b; ...

Что за ошибка при вызове конструктора? - C++
Компилятор ругается на строчку внутри цикла while((c = getchar()) != '\n') { q = new Sym(c); } Sym - класс, а c -...


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

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

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