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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
#1

Конструкторы. синтаксис - C++

27.02.2012, 23:26. Просмотров 1240. Ответов 7
Метки нет (Все метки)

Добрый вечер!
Не совсем понятно, как описываются конструкторы: что в круглых скобках, что в фигурных, когда нужно двоеточие.
Например:
C++
1
2
3
4
5
6
7
8
9
class MyClass
{int field1;
 string field2;
 public:
  MyClass(int f1, string f2) //конструктор; f1, f2- объекты класса?
  {field1=f1;
    field2=f2;
  }
}
C++
1
2
3
4
5
class Myclass
{private:
  int field1;
  Myclass::Myclass(): field1(0){} //зачем здесь двоеточие?
}
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 23:26     Конструкторы. синтаксис
Посмотрите здесь:

конструкторы - C++
У меня вопрос: если программа с конструкторами, то нужно ли создавать объект в программе? И по какому синтаксису вызвать функцию, описанную...

Конструкторы - C++
Почему, если класс имеет конструктор с параметрами у него обязательно должен быть конструктор по умолчанию?

конструкторы - C++
Есть 2 проблемы: 1) Сказали сделать 2 конструктора: один по умолчанию, а другой-с параметрами. Какие должны быть параметры в моем...

Конструкторы - C++
Есть фрагмент кода: #include <iostream> using namespace std; class Counter { public: Counter operator++(int);...

конструкторы - C++
Доброе время суток! Помогите разобраться с конструктором. Что это такое и с чем его едят. Так как сдала лабу преподавателю, ну вроде ж...

Конструкторы - C++
У меня есть два конструктора: первый по умолчанию Circle() //Конструктор по умолчанию (инициализирует переменные) { itsRadius =...

Конструкторы - C++
Объясните на пальцах, для чего нужны конструкторы?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 23:28     Конструкторы. синтаксис #2
Цитата Сообщение от Яна_Max Посмотреть сообщение
что в круглых скобка
Передаваемые параметры
Цитата Сообщение от Яна_Max Посмотреть сообщение
что в фигурны
Тело конструктора
Цитата Сообщение от Яна_Max Посмотреть сообщение
когда нужно двоеточие
После двоеточия идет список инициализации

Все это есть в книге C++ по ООП.
Яна_Max
3 / 3 / 0
Регистрация: 08.11.2011
Сообщений: 137
27.02.2012, 23:36  [ТС]     Конструкторы. синтаксис #3
Цитата Сообщение от soon Посмотреть сообщение

После двоеточия идет список инициализации

.
а в первом примере field1 инициализируется значением f1(как я понимаю), но двоеточия нет.=)
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.02.2012, 00:01     Конструкторы. синтаксис #4
Цитата Сообщение от Яна_Max Посмотреть сообщение
а в первом примере field1 инициализируется значением f1(как я понимаю), но двоеточия нет
Нет. Изначально оно инициализируется тем, что будет поставлено по умолчанию в его конструкторе. А затем ему будет присвоено значение f1. Можете попробовать вывести field1 до присваивания.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
28.02.2012, 07:59     Конструкторы. синтаксис #5
C++
1
2
3
4
5
6
7
class Human
{
     Human a(/*...*/)
    {
        //...
    }
}
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.02.2012, 13:54     Конструкторы. синтаксис #6
sovaz1997, что это?
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
28.02.2012, 21:00     Конструкторы. синтаксис #7
По-видимому, ответ на тему
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.02.2012, 11:50     Конструкторы. синтаксис
Еще ссылки по теме:

Конструкторы - C++
Пытаюсь разработайте класс представления окна на экране компьютера. В состав должны войти следующие конструкторы: -конструктор по...

Конструкторы - C++
class A { public: A() : a(10) // инициализация a { b = 3; // присвоение b } int a, b; };

Конструкторы C++ - C++
Объясните, пожалуйста, своими словами, что являют собой конструкторы, для чего они нужны, в чем их преимущество перед аналогичными...

Конструкторы С++ - C++
Всем привет, помогите довести программу до ума :) Заранее благодарю откликнувшихся :) ...

Конструкторы - C++
Спроектируйте класс – “калькулятор”, предназначенный для выполнения арифметических операций с двумя операндами и добавьте в разработанный...


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
29.02.2012, 11:50     Конструкторы. синтаксис #8
sovaz1997, в том-то и дело, что "видимо". Как по-вашему, что вы написали в том коде?
Yandex
Объявления
29.02.2012, 11:50     Конструкторы. синтаксис
Ответ Создать тему
Опции темы

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