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

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

Войти
Регистрация
Восстановить пароль
 
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
#1

Передача структуры без объявления переменной - C++

03.03.2013, 21:56. Просмотров 533. Ответов 8
Метки нет (Все метки)

здравствуйте форумчане. вопрос мой таков:
имеется структура
C++ (Qt)
1
2
3
4
struct Rect
{
  Point LTPoint,RBPoint;
}
Point-структура такого вида:
C++ (Qt)
1
2
3
4
struct Point
{
  float x,y;
};
в функцию нужно передать переменную типа структура Rect. можно ли это сделать, не объявляя переменной этого типа, а просто указав значения соответствующих полей ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
03.03.2013, 22:00     Передача структуры без объявления переменной #2
Ты напиши, как тебе хотелось бы, чтобы это примерно выглядело? в виде псевдо-кода
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12537 / 7099 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
03.03.2013, 22:43     Передача структуры без объявления переменной #3
Цитата Сообщение от Agent Smith Посмотреть сообщение
в функцию нужно передать переменную типа структура Rect. можно ли это сделать, не объявляя переменной этого типа
что-то я не понял...
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
04.03.2013, 18:25  [ТС]     Передача структуры без объявления переменной #4
ну типа так:foo({2,5},{-3,1.5})
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
06.03.2013, 18:23  [ТС]     Передача структуры без объявления переменной #5
ну так что никто не поможет?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12537 / 7099 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
06.03.2013, 18:33     Передача структуры без объявления переменной #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
struct Point
{
  float x,y;
  Point(const float _x,const float _y):x(_x),y(_y){};
};
 
struct Rect
{
  Point LTPoint,RBPoint;
  Rect(const float left,const float top,const float right,const float bottom):LTPoint(left,top),RBPoint(right,bottom){};
};
 
 
void foo(const Rect x){
 
}
void foo(const Point x){
 
}
 
int main(){
    foo(Rect(10.,24.,50.,80.));
}
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
06.03.2013, 18:44  [ТС]     Передача структуры без объявления переменной #7
спасибо большое c++ изучать только начал, не объясните как это называется:
Point(const float _x,const float _y):x(_x),y(_y){};? конструктор? приведение типа? или как-то по другому?
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,164
Завершенные тесты: 2
06.03.2013, 18:45     Передача структуры без объявления переменной #8
да, конструктор
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 18:46     Передача структуры без объявления переменной
Еще ссылки по теме:

Удаление переменной структуры C++
Передача структуры в функцию C++
Передача структуры в функцию C++
Ошибка "expected primary-expression before 'char'" при объявления переменной C++
C++ Что означает имя переменной в конце объявления структуры?

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12537 / 7099 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
06.03.2013, 18:46     Передача структуры без объявления переменной #9
Конструктор. После двоеточия - список инициализации. Тело функции пустое, т.к. все сделано в списке инициализации.
Инициализация, присваивание и уничтожение класса
Yandex
Объявления
06.03.2013, 18:46     Передача структуры без объявления переменной
Ответ Создать тему
Опции темы

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