Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Wrailiv
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 4
1

Передать в функцию пустой объект

29.03.2016, 19:37. Просмотров 715. Ответов 7
Метки нет (Все метки)

Потянуло меня на красивости. Чему бы жизнь нас не учила, а *опа ищет приключений.
Как это реализовать? Чтобы пустой объект создавался не
C++
1
My_class x = My_class();
a
C++
1
My_class x = NULL;
?
Нужно наверное как-то переопределить operator=?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2016, 19:37
Ответы с готовыми решениями:

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня...

Как передать объект в функцию
Допустим у меня есть такой класс: class Abc { private: int a; public: void set_a(int A) {...

Как передать ссылку на объект в функцию
Есть два класса допустим Entitit и Map, в Map есть переменная допустим Time которая изменяется...

Как правильно передать объект fstream в функцию
При использовании следующего подхода возникают вопросы: int myFunc(fstream& data); 1. Если я...

Как правильно передать объект в функцию при использовании многопоточности
Добрый день, форум! Возникла вот такая задача: Есть два класса: класс А, реализующий...

7
Ritert
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 8
29.03.2016, 19:39 2
Что за "пустой объект"? Для чего?
0
liv
1884 / 1410 / 228
Регистрация: 07.10.2015
Сообщений: 3,566
Завершенные тесты: 1
29.03.2016, 19:42 3
Нулевой указатель на класс не устраивает?
C++
1
My_class *x = NULL;
0
hoggy
Эксперт С++
7084 / 3290 / 677
Регистрация: 15.11.2014
Сообщений: 7,526
Завершенные тесты: 1
29.03.2016, 19:45 4
Цитата Сообщение от Wrailiv Посмотреть сообщение
Нужно наверное как-то переопределить operator=?
http://rextester.com/OFAXY55182

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <windows.h>
 
int main()
{
    struct My_class
    {
        My_class( decltype(NULL) = NULL ) {
            std::cout <<"создан пустой объект\n";
        }
    };
    
    std::cout << "Hello, world!\n";
    
    My_class x = NULL;
    My_class y = My_class();
}
0
29.03.2016, 19:45
Kastaneda
Jesus loves me
Эксперт С++
5052 / 3070 / 351
Регистрация: 12.12.2009
Сообщений: 7,763
Записей в блоге: 2
Завершенные тесты: 1
29.03.2016, 19:47 5
Цитата Сообщение от Wrailiv Посмотреть сообщение
Чтобы пустой объект создавался не
Так это ж просто делается
C++
1
MyClass ob;
или что ты понимаешь под "пустой объект"?
0
Wrailiv
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 4
29.03.2016, 20:13  [ТС] 6
Ну то есть чтобы объект My_class был в функции аргументом по умолчанию. Конкретнее
C++
1
void fn(int x, string y, My_class z=/* вот тут вот что-нибудь */) {}
В функции fn() объект может использоваться, а может и нет. На этот случай передать по умолчанию какую-нибудь хрень.

Добавлено через 3 минуты
Ещё момент такой. Извините, что сразу не сказал, у меня нет windows.h. Так получилось

Добавлено через 1 минуту
Да, и nullptr добавлять не хотел бы - потерять очкую
0
Kastaneda
Jesus loves me
Эксперт С++
5052 / 3070 / 351
Регистрация: 12.12.2009
Сообщений: 7,763
Записей в блоге: 2
Завершенные тесты: 1
29.03.2016, 20:20 7
Цитата Сообщение от Wrailiv Посмотреть сообщение
и nullptr добавлять не хотел бы - потерять очкую
кого потерять? nullptr тут как раз нормально
C++
1
2
3
4
5
6
void fn(int x, string y, My_class *ptr = nullptr)
{
    if (ptr) {
        // use ptr
    }
}
0
hoggy
Эксперт С++
7084 / 3290 / 677
Регистрация: 15.11.2014
Сообщений: 7,526
Завершенные тесты: 1
29.03.2016, 20:44 8
Цитата Сообщение от Wrailiv Посмотреть сообщение
Ещё момент такой. Извините, что сразу не сказал, у меня нет windows.h. Так получилось
это не принципиально.
главное что бы у вас был NULL.
0
29.03.2016, 20:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2016, 20:44

Как передать объект "Стек" в функцию?
Интересует такой вопрос, а как передать класс стека в параметр процедуры или функции? например...

Добавляется пустой объект в массив
Добрый день. Столкнулся с такой проблемой. У меня есть функция регистрации на конкурс. Я хочу...

Почему при инициализации строки, сначала создаётся пустой объект?
Чтобы при создании присвоить строке какое-то значение, можно использовать два способа: string...


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

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

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