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

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

Войти
Регистрация
Восстановить пароль
 
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
#1

Может ли метод класса возвращать экземпляр этого же класса? - C++

23.02.2012, 21:51. Просмотров 1084. Ответов 3
Метки нет (Все метки)

такой вопрос, реально что бы функция класса имела тип класса(возвращала класс), то есть типа так:
C++
1
2
3
class c1{
c1 f1();
}
если да, то что нужно передавать в нее и что она должна возвращать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Может ли метод класса возвращать экземпляр этого же класса? (C++):

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

Как сделать членом класса экземпляр этого же класса - C++
class Operation { public: bool type; //true = operation, false = number char Operator; Operation L_Op; Operation R_Op; ...

В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! - C++
Друзья! Почему так? #include <windows.h> #include <iostream> using namespace std; //Вот главный класс class A{ ...

Создать объект внутри класса, который может вызывать функцию этого класса - C++
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле демонстрации работы лифта в здании 2 этажа. Сделал класс...

Может ли метод родительского класса обратиться к полю дочернего класса - C++
Может ли метод родительского класса обратиться к полю дочернего класса?

Как создать экземпляр этого класса? - C++
#pragma once template<typename T> class fgFSM { public: fgFSM() : _time_in_cur_state(0.0f), _cur_state(-1) { }

3
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
23.02.2012, 21:57 #2
Да можно.
Цитата Сообщение от 1rop Посмотреть сообщение
если да, то что нужно передавать в нее и что она должна возвращать?
Не важно что передавать, главное возврат.
Например,
C++
1
2
3
4
5
6
7
8
9
class obj{
public:
   obj fun()
   {
      obj tmp;
      /* .. */
      return tmp;
   }
}
1
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
23.02.2012, 22:24  [ТС] #3
а, понял, это вызов конструктора
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
23.02.2012, 22:34 #4
1rop, вызов конструктора только здесь

Цитата Сообщение от go Посмотреть сообщение
obj tmp;
И то не явный, при создании переменной

Функция просто возвращает некий объект, тип которого такой же как и у класса
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 22:34
Привет! Вот еще темы с ответами:

Можно ли получить ссылку на экземпляр класса по полю этого экземпляра - C++
схематично код такой - class A { static void staticMethodA(SomeClass* memberA); SomeClass* memberA; } void...

Метод не хочет возвращать объект типа класса которому он принадлежит - C++
Есть класс matrix и один из методов этого класса plus который возвращает объект типа matrix Но корректно этого делать не хочет Ошибка...

Как передать в метод класса ссылку на экземпляр - C++
Есть класс class Class{ ... } Как передать в метод экземплер класса из которого вызывается этот метод? Пробывал так: class Class{ ...

Создание указателя типа базового класса на экземпляр производного класса - C++
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
23.02.2012, 22:34
Ответ Создать тему
Опции темы

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