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

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

Войти
Регистрация
Восстановить пароль
 
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
#1

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

02.02.2013, 15:56. Просмотров 362. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
class A
{
public:
    A() : a(10) // инициализация a
    {
        b = 3; // присвоение b
    }
 
    int a, b;
};

Я правильно понимаю процесс?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2013, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструкторы (C++):

Конструкторы - C++
#include<iostream> class A { public: A(int x) : _x(x) {} private: int _x; }; int main() ...

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.02.2013, 16:07 #2
для примитивных типов разницы нет, а вот для объектов
C++
1
2
3
4
5
6
7
8
9
class A
{
    std::string a, b;
public:
    A() : a("hello") // для 'a' вызывается конструктор с параметром - строковым литералом, для 'b' - конструктор по умолчанию 
    {
        b = "world"; // присвоили 'b' новое значение
    }
};
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
02.02.2013, 16:10  [ТС] #3
Jupiter, это-то понятно. Просто раньше я не видел разницы между ": a()" и "a = ". И только сейчас один из топиков навел меня на мысль. Благодарю.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
02.02.2013, 16:24 #4
A() : a(10)
нада использовать если переменная а будет const
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
02.02.2013, 17:01 #5
Цитата Сообщение от Саня gamer Посмотреть сообщение
нада использовать если переменная а будет const
надо использовать всегда, за редким исключением - множественным присваиванием.
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
02.02.2013, 21:46  [ТС] #6
MrGluck, зачем всегда?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.02.2013, 22:03 #7
Kgfq, Затем, что это правильнее, эффективнее (если мы говорим не о простых типах).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2013, 22:03
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.02.2013, 22:03
Ответ Создать тему
Опции темы

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