• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Вопрос по поводу объявления класса в С++ Билдер

  • Автор темы prikolist
  • Дата начала
P

prikolist

Здравствуйте программисты! Начал изучать классы в с++ Билдер.
Немного не могу въехать. Подскажите пожалуйста,классы нужно обязательно ли объявлять в фале .h ,как получать доступ к элементам описаным в классе. Примерно,как описывается класс,по книге очень сокращённо. Заранне благодарен за ответ.Извините,если не литтературно выразился.
 
E

European

Подскажите пожалуйста,классы нужно обязательно ли объявлять в фале .h
В принципе желательно, но не обязательно
как получать доступ к элементам описаным в классе
Книга: Б. Страуструп "Язык программирования С++", 3-е издание
 
P

prikolist

Кто-нибудь может своими словами,пару пердложений написать о классах,как получать доступ к объектам,переменным и функциям класса?
Заранне благодарен за ответ.
 
F

Froex

Класс - это то же самое, что и структура данных. Отличие лишь в том, что в структурах по умолчанию все поля общие, а в классе - частные.
Описание класса выглядит следующим образом:
Код:
class CName //ключевое слово, за которым следует имя нашего будущего класса
{ /* тут можно написать "private:" или опустить - это по умолчанию */
//частные поля будут доступны только внутри класса
int field1; //можно описывать все поля нашего класса
public: //а тут начинаются общие поля, к которым можно будет обращаться извне
double field2; //можно описывать как поля...
void MyFunc(int a); //...так и методы класса
CName(); //конструктор...
~CName(); //и деструктор
int MyFunc2() //методы можно описывать и внутри класса
{return 25;}
};

//для описания метода вне класса (чтобы не загромождать объявление класса)
//необходимо использовать оператор раскрытия области видимости "::"
//заголовок в точности (за исключением добавления раскрытия области видимости) соответствует описанному внутри класса
void CName::MyFunc(int a)
{
...
}
//Объявление класса
CName MyClass;
//Для обращения к полям
x = MyClass.field2;
//Для методов аналогично
MyClass.MyFunc(7);
Это основы. Для более подробного описания лучше почитать литературку. Бьерн Страуструп как раз подходит, как говорили уже тут.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!