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

Тема в разделе "Общие вопросы по С и С++", создана пользователем prikolist, 8 апр 2009.

  1. prikolist

    prikolist Гость

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

    etc Гость

    Разве в книге это не прописано?
     
  3. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    В принципе желательно, но не обязательно
    Книга: Б. Страуструп "Язык программирования С++", 3-е издание
     
  4. prikolist

    prikolist Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Слабо в книге прочитать?
     
  6. Froex

    Froex Гость

    Класс - это то же самое, что и структура данных. Отличие лишь в том, что в структурах по умолчанию все поля общие, а в классе - частные.
    Описание класса выглядит следующим образом:
    Код (Text):
    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);
    Это основы. Для более подробного описания лучше почитать литературку. Бьерн Страуструп как раз подходит, как говорили уже тут.
     
Загрузка...

Поделиться этой страницей