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

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

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

Пояснить конструктор - C++

22.03.2013, 22:02. Просмотров 328. Ответов 8
Метки нет (Все метки)

Вот такая вешчь в конструкторе, а что она означает и как работает?
C++
1
2
3
4
TClass::TClass(float x)
{
TClass::x=x;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2013, 22:02     Пояснить конструктор
Посмотрите здесь:

Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? - C++
Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно?

Пояснить строку - C++
Программисты! Объясните пожалуйста эту строку, только подробно желательно. if (Key ==DecimalSeparator) ...

Пояснить работу цикла - C++
Привет всем Ребята помогите расскажите мне как работает этот Код точнее команда for в нете инфы много ну ни как не могу понять #include...

Пояснить по работе с указателями - C++
Здравствуйте! волнует вопрос об указателях: 1) указатель на переменную используется для ускорения выполнения программы, заменяя...

Пояснить устройство цикла - C++
Я учусь на программиста уже третий месяц, но до сих пор не понимаю основ. Проблема преподов в том, что они объясняют материал для тех, кто...

Прошу пояснить задание - C++
Методические указания 1. Выполните декомпозицию поставленной задачи. Покажите взаимосвязи между классами; 2. Вызов утилиты должен...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NEbO
587 / 455 / 49
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
Завершенные тесты: 2
22.03.2013, 22:07     Пояснить конструктор #2
статический член класса.
AlexVinBog
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 16
22.03.2013, 22:11  [ТС]     Пояснить конструктор #3
TClass::x=x;
это объясните тоже, почему так пишется или что здесь выполняется?
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
22.03.2013, 22:13     Пояснить конструктор #4
Цитата Сообщение от NEbO Посмотреть сообщение
статический член класса.
вообще не факт.

А такая запись в данном случае используется для того, чтобы разделять x - параметр конструктора и х - член класса.
NEbO
587 / 455 / 49
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
Завершенные тесты: 2
22.03.2013, 22:19     Пояснить конструктор #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
вообще не факт.
что это еще может быть? "обычным" полем объекта -- тогда бы было this.x, вроде как. вроде даже неймспейсом не может, ибо неоднозначность и скорее всего, компилятор вылетит
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
22.03.2013, 22:24     Пояснить конструктор #6
Цитата Сообщение от NEbO Посмотреть сообщение
что это еще может быть? обычным -- тогда бы было this.x, вроде как.
Ну может быть и так и так.
Вот рабочий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
class Foo
{
public:
   Foo (int x)
   {
      Foo::x = x;
   }
   
   int x;
};
 
int main()
{
   Foo bar(10);
   
   std::cout << bar.x;
   
   return 0;
}
Цитата Сообщение от NEbO Посмотреть сообщение
вроде даже неймспейсом не может, ибо неоднозначность и скорее всего, компилятор вылетит
А почему нет?
Вот тоже рабочий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
namespace MyNamespace {int x;}
 
class Foo
{
public:
   Foo (int x)
   {
      MyNamespace::x = x;
   }
   
   int x;
};
 
int main()
{
   Foo bar(10);
   
   std::cout << MyNamespace::x;
   
   return 0;
}
NEbO
587 / 455 / 49
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
Завершенные тесты: 2
22.03.2013, 22:43     Пояснить конструктор #7
насчет первого -- понял, проверил, я был неправ, каюсь.
ну а насчет неймспейса: "TClass" == "TClass", а "Foo" != "MyNamespace". то есть имя неймспейса должно быть такое же, как и имя класса (в коде автора ведь так!). а так сделать нельзя, по крайней мере на моем gcc 4.7.1.
Kastaneda
22.03.2013, 22:48
  #8

Не по теме:

Цитата Сообщение от NEbO Посмотреть сообщение
ну а насчет неймспейса: "TClass" == "TClass", а "Foo" != "MyNamespace"
А это имелось ввиду, я сразу не понял, хотя да, по контексту мог бы понять)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2013, 22:54     Пояснить конструктор
Еще ссылки по теме:

Пояснить про указатели и ссылки - C++
есть переменное и указатель.. Значение нашей переменной случайный адрес, Как менять адрес указателя, таким образом, что бы она стала...

Пояснить значение данного кода - C++
int dRow = (row != 0 &amp;&amp; arr == (value - 1)) ? -1 : \ (row != (n - 1) &amp;&amp; arr == (value - 1)) ? 1 : 0;

Пояснить каждую строчку кода - C++
Нужно пояснить каждую строчку данного кода #include&lt;iostream&gt; using namespace std; const int n_max = 100; const int m_max = 255;...

Пояснить работу рекурсивной функции - C++
Ребят, может кто-нибудь объяснить тугодуму принцип работы этой функции, потому что я что-то сам никак... double maxs(double* a, int n)...


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

Или воспользуйтесь поиском по форуму:
NEbO
22.03.2013, 22:54     Пояснить конструктор
  #9

Не по теме:

да черт его знает, на самом деле но хорошо, что вы меня поправили, пхп испортил мои знания плюсов.

Yandex
Объявления
22.03.2013, 22:54     Пояснить конструктор
Ответ Создать тему
Опции темы

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