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

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

Войти
Регистрация
Восстановить пароль
 
TierX
20 / 20 / 0
Регистрация: 28.02.2014
Сообщений: 138
#1

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

19.08.2014, 20:04. Просмотров 388. Ответов 4
Метки нет (Все метки)

Вобщем касательно конструктора такой код:
Кликните здесь для просмотра всего текста
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++
подскажите, почему при вызове конструктора с параметрами выдает ошибку сегментации #include&lt;math.h&gt; #include&lt;stdio.h&gt; ...

Крашится приложение при вызове конструктора - C++
Здравствуйте. Написал класс, а при вызове конструктора (класса Ground) приложение крашится. Где я облажался? class Plate { ...

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

Уничтожения информации в объекте класса при повторном вызове конструктора - C++
]Подскажите, пожалуйста: есть код типа: class someClass { public: int* someArray; someClass() { someArray = new int; ...

Ошибка при перегрузка конструктора. Родительский объект инициализирует поле по умолчанию - C++
простейший объект field с двумя полями int является полем класса Capp. поле с типом field создается и конструируется по умолчанию без...

При вызове конструктора ошибка: L "Buffer is too small" & & 0 - C++
Привет. При вызове конструктора вылетает эта ошибка. Student(char *n, char *s, char *p, int y, char *g) { name = new char;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
19.08.2014, 20:05     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #2
В 14 строке - объявление функции b, не принимающей аргументов и возвращающей объект типа box.
TierX
20 / 20 / 0
Регистрация: 28.02.2014
Сообщений: 138
19.08.2014, 20:09  [ТС]     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #3
0x10, Блин точно . Както я привык что определения функций только до main могут быть.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 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шка нормальная будет выводить этот заголовок при подсказке.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2014, 11:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию
Еще ссылки по теме:

Какие нюансы в вызове виртуальных функций из конструктора и из деструктора? - C++
Данный вопрос взят с перечня вопросов на собеседование, смысл мне не совсем понятен, вот и решил его задать тут. Может кто понял суть...

Файл: Вычисления значений заданной функции по аргументам из файла - C++
Надо помощь в написании небольшой программы, только начал работать с файлами в консоли. нужно решить задачу: Створити текстовий файл...

Инициализация конструктора по умолчанию - C++
почему если инициализировать поля класса в конструкторе по умолчанию так: MyClass::MyClass() { int m=0; int t=0; } то поля...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
20.08.2014, 11:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию #5
Цитата Сообщение от TierX Посмотреть сообщение
Например какие входящие / выходящие
Отказаться от out-аргументов, тогда ничего и помечать не надо будет
Yandex
Объявления
20.08.2014, 11:04     Пояснение к аргументам при вызове функции, и запрет конструктора по умолчанию
Ответ Создать тему
Опции темы

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