Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ищу способ конвертировать адрес в int https://www.cyberforum.ru/ cpp-beginners/ thread2496921.html
Здравствуйте, всем. Скажите, пожалуйста, как string в int? Есть строка, она содержит в себе адрес в памяти. Ищу способ конвертировать адрес в int, для проверки есть ли он в массиве? Это...
C++ Показать способ получения числа 10 из четырёх чисел (от 1 до 9)
Здравствуйте! Требуется написать программу, которая будет показывать способ получения числа 10 из четырёх чисел (от 1 до 9). Допустимые операции: сложение, вычитание, деление, умножение.
C++ Наследование https://www.cyberforum.ru/ cpp-beginners/ thread2496897.html
Не правильно подставляются значения векторов v1 v2 v3 v4 в переопределенный метод вычисления периметра double rectangle:: perimetr() . В чем причина не могу понять #include <iostream> #include...
C++ что не так ? (вычисление площади в классе) https://www.cyberforum.ru/ cpp-beginners/ thread2496885.html
#include <iostream> #include <math.h> using namespace std; class triangle { private: double a, b,c,p; double s; public:
C++ Тип CHAR. Завершение программы без каких либо выводов
Добрый день! Начну сразу с того, что в программировании и знании С++ я пока что профан, но буду очень рада вашей помощи :) У меня возникли проблемы в программе без видимых (для меня) ошибок....
C++ Траблы с кодом https://www.cyberforum.ru/ cpp-beginners/ thread2496827.html
Ребята, задача сделать правильный шестиугольник, я написал и выдало ошибку 'clrscr' was not declared in this scope. Помогите сделать шестиугольник или скиньте где почитать на счёт ООП на Dev-C++ ...
C++ Вот такая проблема 'clrscr' was not declared in this scope Ребята, задача сделать правильный шестиугольник, я написал и выдало ошибку 'clrscr' was not declared in this scope. Помогите сделать шестиугольник или скиньте где почитать на счёт ООП на Dev-C++ ... https://www.cyberforum.ru/ cpp-beginners/ thread2496826.html C++ Умножение и деление комплексных чисел
Неправильно умножаются и делятся комплексные числа Код: Main ComplexNumbers A; A.ReadComplexNumbers(); ComplexNumbers B; //B.ReadComplexNumbers(); cout << "Демонстрация операции сложения"...
C++ Вычисление значений степенных полиномов по схеме Горнера Помогите сделать ,не могу понять.Сделать восьмой вариант.Очень благодарен любой помощи.Если возможно прошу сделать код программы для Dev. https://www.cyberforum.ru/ cpp-beginners/ thread2496822.html C++ Изучаю паттерн Visitor https://www.cyberforum.ru/ cpp-beginners/ thread2496811.html
Не могу до конца понять смысл и реализацию. Для изучения дан вот такой пример... На каждую операцию над объектами иерархии мы могли бы заводить по отдельному виртуальному методу, но такой подход...
C++ Композиция и Наследование классов
Что это за ошибки и как их решить? https://www.cyberforum.ru/attachment.php?attachmentid=1064671&stc=1&d=1567621843 Employee.h #pragma once #include <cstdlib> #include <vector> #include...
C++ Задачка(шахматы) https://www.cyberforum.ru/ cpp-beginners/ thread2496763.html
На шахматной доске находятся черный король и две белых ладьи(ладьи бьет по горизонтали и вертикали). Проверить находится ли король под угрозой и если да, кто ему угрожает.
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 9
0

Возврат из функции ссылки на экземпляр класса - C++ - Ответ 13808381

05.09.2019, 12:47. Показов 1336. Ответов 5
Метки (Все метки)

Здравствуйте, прошу помочь в разъяснении не понятной конструкции.Искал в интернете не нашел ничего решающего мой вопрос. Я наткнулся на вот такой код в книжке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#
include <iostream>
using namespace std;
 
class SimpleCat
{
public:
    SimpleCat();
    SimpleCat(SimpleCat&);
    ~SimpleCat();
 
    int GetAge() const { return itsAge; }
    void SetAge(int age) { itsAge = age; }
private:
    int itsAge;
};
 
SimpleCat::SimpleCat()
{
    cout << "Simple Cat Constructor...\n";
    itsAge = 1;
}
 
SimpleCat::SimpleCat(SimpleCat&)
{
    cout << "Simple Cat Copy Constructor...\n";
}
 
SimpleCat::~SimpleCat()
{
    cout << "Simple Cat Destructor...\n";
}
 
const SimpleCat & FunctionTwo(const SimpleCat & theCat);
 
int main()
{
    cout << "Making a cat...\n";
    SimpleCat Frisky;
    cout << "Frisky is " << Frisky.GetAge() << " years old\n";
    int age = 5;
    Frisky.SetAge(age);
    cout << "Frisky is " << Frisky.GetAge() << " years old\n";
    cout << "Calling FunctionTwo...\n";
    FunctionTwo(Frisky);
    cout << "Frisky is " << Frisky.GetAge() << " years old\n";
return 0;
}
 
// FunctionTwo, passes a ref to a const object
const SimpleCat & FunctionTwo(const SimpleCat & theCat)
{
    cout << "Function Two. Returning...\n";
    cout << "Frisky is now " << theCat.GetAge();
    cout << " years old\n";
    // theCat.SetAge(8); const!!
    return theCat;
}
Строка 33 ( const SimpleCat & FunctionTwo(const SimpleCat & theCat); ), понятно что передается константный объект в функцию по ссылке. Но мне хотелось бы узнать, что значит вот это SimpleCat & FunctionTwo, это значит функция Экземпляр Класса или что то еще. В книге эта концепция не объяснялась. Книга называется Освой самостоятельно С++ за 21 3-е издание, название оригинала другое, автор индус. Он сходу начал показывать пример такой конструкци не объяснив. Искал в интернете по запросам: "Функция экземплаяр класса", "ClassFoo FinctionBar", "Class Fucntion", "Функция типа Класс", на русском и английском языке, везде гугл мне выдает ссылки на Функции Члены и Методы, о которых я уже знаю. Может быть тут кто нибудь знает как называется это концепция когда объявляется функция с типом опреленного класса. Спасибо за ответ

Вернуться к обсуждению:
Возврат из функции ссылки на экземпляр класса C++
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2019, 12:47
Готовые ответы и решения:

Как вместо ссылки на экземпляр класса передать поле класса?
Делаю свою шаблонную функцию для свойств с событиями, при обращении к таким свойствам приходится...

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

Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса
Добрый день. Подскажите пожалуйста. есть несколько классов-файлов в одном пакете. class one...

Возврат ссылки из функции
Изучаю С++, знаю С. Вот такой простенький вопросик есть. В чем вообще разница: class Str {...

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2019, 12:47

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Возврат ссылки на указатель из функции
#include &lt;iostream&gt; int*&amp; getPtrRef(int*&amp; ref) { int*&amp; cpy = ref; std::cout &lt;&lt; &amp;ref...

Создание ссылки и возврат из функции
Есть вот такая функция, возвращает максимальный элемент. template &lt;typename Type&gt; inline const...

Возврат константной ссылки из функции
Можно ли из функции возвращать константную ссылку? Есть след. классы: class A { /*чтото тяжёлое,...

Возврат ссылки от функции перегруженного оператора
Здравствуйте, меня интересует вопрос, когда функция-член класса, к примеру перегруженного оператора...

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