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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 12:16   #1
ahab
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 17
По умолчанию Непонятное двочиточие в классе. С++

Здравствуйте, не могу понять зачем (что и как) испльзуется двоиточие.
например в коде
Код:
#include <iostream>
using namespace std;

class Example 
{
int * p_;
public:
Example(): p_(new int()) {
cout << "Creating Example, allocating SomeResource!\n";
}
~Example()
{
cout << "Deleting Example, freeing SomeResource!\n";
delete p_;
}
};

int main() {
Example e1;
Example e2(e1);

return 0;
}
Цитата:
Example(): p_(new int())
???
ahab вне форума Ответить с цитированием
Старый 25.01.2010, 20:56   #2
ahab
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 17
По умолчанию

что настолько сложный вопрос????
вроде не должен быть
ну давайте, кто-нибудь подскажите
ahab вне форума Ответить с цитированием
Старый 25.01.2010, 21:00   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

После двоеточия, которое после конструктора класса можно указывать чем инициализировать его поля.
Код:
class A {
    int m_a;
public:
    A(int a) { m_a = a; }
};

class B {
   int m_n;
   A  obj;
public:
   B(int a, int n) : obj(a), m_n(n) { }
};
m_n можно было присвоить значение обычным способом(m_n = n), но с классом такое не прокатит, нужно вызывать его конструктор
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятное зависание. DIMANJ Операционные системы общие вопросы 20 18.11.2009 17:08
Непонятное OgE®_M@G Microsoft Office Access 6 13.11.2009 06:30
Непонятное ограничение. SAS888 Microsoft Office Excel 6 07.08.2009 13:20
Что-то непонятное.. Busine2009 Microsoft Office Word 4 10.07.2009 21:44
Непонятное условие SunKnight Паскаль, Turbo Pascal, PascalABC.NET 3 29.11.2008 23:01