Есть такой код
#include<iostream>
class AA{
public:
int* i;
};
int main(){
AA T1;
T1.i=new int;
AA* pT1=&T1;
return 0;
}
Подскажите как теперь через указатель pT1 в i записать какое-либо значение, или как прочитать значение из i
Есть такой код
#include<iostream>
class AA{
public:
int* i;
};
int main(){
AA T1;
T1.i=new int;
AA* pT1=&T1;
return 0;
}
Подскажите как теперь через указатель pT1 в i записать какое-либо значение, или как прочитать значение из i
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
21 мая 2009 в 17:03
Спасибо за помощь.
21 мая 2009 в 13:02
Спасибо, почитаем.
21 мая 2009 в 13:01
Во-первых, действительно необязательно это писать.
Во-вторых, это плохой стиль программирования, т.к. директива using размещает пространство имен std в текущем пространстве имен (об этом не однократно упоминается у Страуструпа и у Саттера с Александреску)
Так что лучше или не писать и использовать std::cout,
или использовать using std::cout;
21 мая 2009 в 13:00
Без него не будет работать cout и cin
Или придётся указывать std::cout, std::cin.
21 мая 2009 в 12:05
> Во-первых, ты забыл "using namespace std;"
lol
21 мая 2009 в 12:00
Во-первых, ты забыл "using namespace std;".
Получить доступ: *pT1->i
Записать значение: cin >> *pT1->i; или *pT1->i=5;
Вывести значение: cout << *pT1->i;
Пояснение: операция -> имеет больший приоритет, чем *, поэтому скобки не нужны.
Рабочий код:
#include <iostream>
using namespace std;
class AA
{
public:
int* i;
};
int main()
{
AA T1;
T1.i=new int;
AA* pT1=&T1;
cin >> *pT1->i;
cout << *pT1->i << endl;
return 0;
}
21 мая 2009 в 4:01
*(T1->i)