Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2015, 15:25   #11
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

так то можно.

Код:
#include <iostream>
class A {
public:
    A(int m) : n(m) {}
    int n;
    int &x = n;
};
int main() {
    A a(10);
    std::cout << a.x << std::endl;
    std::cin.get();
}
а в конструкторе ссылку инициализировать можно ?
у меня не получилось.
RAFA91 вне форума Ответить с цитированием
Старый 22.10.2015, 16:33   #12
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
а в конструкторе ссылку инициализировать можно ?
Можно. Список инициализации для чего по-вашему?
Код:
class A {
public:
    A(int m) : n(m) , x(n) {}
    int n;
    int &x ;
};
Croessmah вне форума Ответить с цитированием
Старый 22.10.2015, 17:16   #13
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

все равно не работает

Код:
#include <iostream>
using namespace std;

class A {
public:
    A(int m) : x(m) {}
    
    int &x ;
};

int main() 

{
	int x=10;
	A(x);
	
	
	return 0;
}
RAFA91 вне форума Ответить с цитированием
Старый 22.10.2015, 17:43   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что вы хотели добиться выражением
Код:
A(x)
? Напишите
Код:
A a(x)
.
p51x вне форума Ответить с цитированием
Старый 22.10.2015, 18:36   #15
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Ну и плюс на что там ссылка? На параметр функции? Так оно потом будет ликвидировано, после завершения выполнения конструктора и ссылка "повиснет" в небытие
Croessmah вне форума Ответить с цитированием
Старый 23.10.2015, 14:53   #16
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Я просто хотел хранить ссылку на переменную x мейна в классе А.

p51x
благодарю Вас за то чно указали на мою невнимательность.

выражение
Код:
A(int m) : x(m) {}
не позволяет хранить ссылку на переменную x мейна в классе А, а вот

Код:
A(int &m) : x(m) {}
уже совсем другое дело.
RAFA91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитировать работу АЗС - C++ Андрей Иванов Помощь студентам 8 17.10.2015 18:52
Задача про АЗС reddiego Помощь студентам 2 07.03.2014 13:47
Имитационное моделирование (АЗС с 2мя колонками) Optigood Помощь студентам 1 17.07.2011 16:11
Паскаль - В городе N был проведен мониторинг цены бензина на различных АЗС Геля007 Помощь студентам 6 20.05.2010 18:22