Здравствуйте программисты! Начал изучать классы в с++ Билдер.
Немного не могу въехать. Подскажите пожалуйста,классы нужно обязательно ли объявлять в фале .h ,как получать доступ к элементам описаным в классе. Примерно,как описывается класс,по книге очень сокращённо. Заранне благодарен за ответ.Извините,если не литтературно выразился.
Вопрос по поводу объявления класса в С++ Билдер
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Классы не обязательно объявлять в h файле. В h файле нужно выносить объявление класса только в том случае, если использовать класс нужно будет в нескольких единицах трансляции (в этом случае h файл должен быть заинклюжен в каждый cpp файл, где он используется).
Простой пример класса:
Простой пример класса:
Код: Выделить всё
class A
{
public:
A() // default constructor
: m_prot(0), m_priv(0)
{
// code will be called aftet object creation
}
A(const A& rhs) // copy constructor
{
// code will be called during object copying
m_prot = rhs.m_prot;
m_priv = rhs.m_priv;
}
~A() // destructor
{
// code will be called before object destruction
}
SetPriv(int n) { m_priv = n; }
protected:
int m_prot;
private:
int m_priv;
};
class B : public A
{
public:
B() : A()
{
m_prot = 5; // we can set it directly
SetPriv(5); // we can set m_priv only using accessible method
}
};
void main()
{
A a;
A a2(a);
B b;
}
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Напишите немного коментарий пожалуйста к классам. Меня интересует также,как получать доступ к объектам или функциям класса. Зараннее благодарен за ответ.
А в той книге, которую ты читаешь, разве ничего про это не написано?
Класс, объект, методы класса - это ключевые понятия в С++.
Не может быть, чтобы в книге по С++ ничего про это не написали.
Класс, объект, методы класса - это ключевые понятия в С++.
Не может быть, чтобы в книге по С++ ничего про это не написали.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Комментариев достаточно. Для того, чтобы узнать тонкости - читай книги. Чтобы написать о классах абсолютно всё, мне сюда придётся перепечататься того же Страуструпа, а это то время, которым я, к сожалению, не располагаю." писал(а):Напишите немного коментарий пожалуйста к классам.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.