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

Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию - C++

Восстановить пароль Регистрация
 
TierX
 Аватар для TierX
19 / 19 / 0
Регистрация: 28.02.2014
Сообщений: 138
19.08.2014, 20:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #1
Вобщем касательно конструктора такой код:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class box
{
public:
box(int t):z(t){y=6;}
 
void Set(int u, float j){cout<<u<<j;};
int z;
int y;
 
};
 
int main()
{
box b();
}

1) Почему компилируется и даже работает при запуске? Я думаю это както связано с конструктором по умолчанию создаваемым автоматически.
2) Как сделать чтобы не компилировалось и красненьким волнистым подчеркиванием ругалось что нет такого конструктора для этого списка аргументов , так же как это работает при вызове обычных функций?

Второй вопрос:
Когда вызываешь какую-то функцию и нужно передать список аргументов, то в лучшем случае можно увидеть подсказку в виде списка типов (float x, int y, int z) если навести на саму функцию.
Можно ли как-то изменить функцию/конструктор или подсказку (VS) чтобы можно было видеть больше информации о списке аргументов.
Например какие входящие / выходящие, краткий комментарий или еще чонить аля :

(коментарий IN: int X1 , OUT: Y2 ) или похоже...

Например выбор обычных переменных в коде показует в подсказке их рядомстоящий коментарий...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 20:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию
Посмотрите здесь:

при вызове конструктора присваивания надо возвращать ссыль на объект или сам объект. Смысл? Значения нужных полей меняютмся и без этого! C++
классы. ошибка при вызове конструктора с параметрами C++
C++ Какие нюансы в вызове виртуальных функций из конструктора и из деструктора?
C++ Уничтожения информации в объекте класса при повторном вызове конструктора
При вызове конструктора ошибка: L "Buffer is too small" & & 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
19.08.2014, 20:05     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #2
В 14 строке - объявление функции b, не принимающей аргументов и возвращающей объект типа box.
TierX
 Аватар для TierX
19 / 19 / 0
Регистрация: 28.02.2014
Сообщений: 138
19.08.2014, 20:09  [ТС]     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #3
0x10, Блин точно . Както я привык что определения функций только до main могут быть.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
19.08.2014, 23:17     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #4
Цитата Сообщение от TierX Посмотреть сообщение
Второй вопрос:
Когда вызываешь какую-то функцию и нужно передать список аргументов, то в лучшем случае можно увидеть подсказку в виде списка типов (float x, int y, int z) если навести на саму функцию.
Можно ли как-то изменить функцию/конструктор или подсказку (VS) чтобы можно было видеть больше информации о списке аргументов.
Например какие входящие / выходящие, краткий комментарий или еще чонить аля :
(коментарий IN: int X1 , OUT: Y2 ) или похоже...
Ну все эти подсказки выполняет IDE, которая чаще всего просто выводит на экран комментарий, написанный непосредственно перед объявлением функции.
Касаемо того, какие аргументы входящие или выходящие, можно сделать так:
C++
1
2
3
4
5
6
// где-нить в заголовочном файле, который подключается везде
#define IN
#define OUT
 
// в коде
void func(IN int x, IN int y, OUT int & z);
Фактически ни на что не влияющие символы препроцессора, а IDEшка нормальная будет выводить этот заголовок при подсказке.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
20.08.2014, 11:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #5
Цитата Сообщение от TierX Посмотреть сообщение
Например какие входящие / выходящие
Отказаться от out-аргументов, тогда ничего и помечать не надо будет
Yandex
Объявления
20.08.2014, 11:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию
Ответ Создать тему
Опции темы

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