0 / 0 / 0
Регистрация: 05.04.2018
Сообщений: 41
1

Что означает * после типа переменной?

17.11.2020, 15:32. Показов 4080. Ответов 23

* - оператор разыменования,позволяет получить значение по указанному адресу.
Правильно ли я понимаю, что происходит в строках 12 и 24? Данные функции запоминают адрес где хранится слово, которое вернет функция через return?
Ну или объясните понятным языком, пожалуйста.
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
class Parent
{
protected:
    int m_value;
 
public:
    Parent(int value)
        : m_value(value)
    {
    }
 
    const char* getName() { return "Parent"; }
    int getValue() { return m_value; }
};
 
class Child: public Parent
{
public:
    Child(int value)
        : Parent(value)
    {
    }
 
    const char* getName() { return "Child"; }
    int getValueDoubled() { return m_value * 2; }
};
Есть вот такой пример работы, но что-то не вдупляю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    Child child(7);
    std::cout << "child is a " << child.getName() << " and has value " << child.getValue() << '\n';
 
    Child &rChild = child;
    std::cout << "rChild is a " << rChild.getName() << " and has value " << rChild.getValue() << '\n';
 
    Child *pChild = &child;
    std::cout << "pChild is a " << pChild->getName() << " and has value " << pChild->getValue() << '\n';
 
    return 0;
}
Результат:

child is a Child and has value 7
rChild is a Child and has value 7
pChild is a Child and has value 7
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2020, 15:32
Ответы с готовыми решениями:

Что означает тип переменной после new?
Добрый день! Подскажите, пожалуйста. Есть код создания памяти для переменной. Например...

Что означает * перед переменной ?
Собственно вопрос в название топика. Например есть программа: int main(int argc, char argv) { ...

Переменной d присвоить первую цифру после запятой некоторой переменной x типа float
Нужно целой переменной d присвоить первую цыфру после комы некоторой переменной x типа float ...

Что означает название переменной в круглых скобках?
Что означает название переменной в круглых скобках? В комментариях указан тип переменной и...

23
Эксперт С++
8720 / 4263 / 951
Регистрация: 15.11.2014
Сообщений: 9,675
17.11.2020, 16:32 21
Цитата Сообщение от BadKoder Посмотреть сообщение
Т.е. строка конвертируется в массив char'ов
нет. не конвертируется.
"строка" - это и есть "массив чаров".
1
0 / 0 / 0
Регистрация: 05.04.2018
Сообщений: 41
17.11.2020, 16:33  [ТС] 22
Цитата Сообщение от Raali Посмотреть сообщение
ты все усложняешь, ничего не конвертируется, это и есть массив char'ов
просто возвращается адрес массива
Всё, спасибо, разобрался!
0
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
17.11.2020, 16:36 23
Цитата Сообщение от BadKoder Посмотреть сообщение
строка конвертируется в массив char'ов и указатель в данном случае указывает на нулевой элемент этого массива
наверное если ты так будешь пока думать ничего страшного не произойдёт
0
38 / 13 / 3
Регистрация: 30.09.2020
Сообщений: 65
17.11.2020, 16:40 24
Может сразу будем кидать ссылки хоть на какие - то доки? А то выходит на 2 страницы.

https://prog-cpp.ru/c-pointers/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2020, 16:40
Помогаю со студенческими работами здесь

Что означает имя переменной в конце объявления структуры?
Всем привет. Что значит такая запись в конце структуры? }*head; И что было бы, если было бы...

Поясните пожалуйста что означает двоеточие и то что идет после него
В 4 строчке после параметра в скобочках нету &quot;;&quot; или же тела функции, что не сходится с моим...

Что означает выражение стоящее после return?
Всем привет. Довольно часто в уроках по c++. Вижу после написания программы либо функциии....

Что означает const после круглых скобок функции
всем привет. скажите, а что здесь значит const? int func(int var) const { return get; }

Что означает тильда перед переменной типа int?
Что означает тильда перед index int index = dinosaurs.BinarySearch(&quot;Coelophysis&quot;); if...

Что означает @ перед переменной
Здравствуйте, обнаружил что существует данная функция, к примеру: string fa = null; @fa =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru