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

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

Войти
Регистрация
Восстановить пароль
 
KSTU
9 / 10 / 3
Регистрация: 25.04.2011
Сообщений: 47
#1

With в C++ - C++

21.10.2011, 11:22. Просмотров 444. Ответов 4
Метки нет (Все метки)

Нужно заполнить структуру, не хочу писать постоянно имя структуры при этом, как поступить, если нет аналога with из паскаля?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
21.10.2011, 11:31 #2
Если в C++ аналог оператора with в Pascal?
1
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
21.10.2011, 11:38 #3
И даже с сильно вложенными конструкциями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Size = 10;
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Family = "Arial";
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Color = COLOR_BLUE;
// ... и дальше еще стопитцот таких же строк для каждой мелочи в Font ...
 
// конструируем одной строкой ссылку:
Window.InnerFrame.Contents.Document.Paragraph.Font& r = myWindow.InnerFrame.Contents.Document.Paragraph.Font;
 
r.Size = 10;
r.Family = "Arial";
r.Color = COLOR_BLUE;
// ... и дальше пишем легко и непринужденно просто для r ...
1
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.10.2011, 12:14 #4
Может не в тему, но вот еще про заполнение структур. Пусть дана структура:
C
1
2
3
4
5
6
struct foo
{
   int i;
   double j;
   char c;
};
В C/C++ объект этой структуры можно заполнить так:
C
1
struct foo f1 = {3, 4., '9'};
В C99:
C
1
struct foo f2 = {.i = 3, .c = '9', .j = 4.};
В C++11 введен новый объект - initializer list - который может использоваться для инициализации произвольных объектов (с добавление логики, если существует конструктор, принимающий этот объект).
1
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
21.10.2011, 13:07 #5
Цитата Сообщение от KSTU Посмотреть сообщение
не хочу писать постоянно имя структуры
Ctrl+C, Ctrl+V
1
21.10.2011, 13:07
Ответ Создать тему
Опции темы

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