Помогите разобраться с классами

Тема в разделе "C и С++ FAQ", создана пользователем Guest_dmitry303, 19 мар 2005.

Статус темы:
Закрыта.
  1. Guest_dmitry303

    Guest_dmitry303 Гость

    Помогите пожалуйста.
    Есть такая проблема.
    Мне нужно наследовать массив от класса.

    Просто в C++ получается..

    Код (Text):
    #include <iostream.h>
    void main(){
    class A{
     float x;
    };
    A a_[100];
    a_[1].x=2;
    };
    А под WinAPI тоже самое выдается ошибки

    Код (Text):
    class A{
     float x;
    };
    A a_[100];
    a_[1].x=2;
    Что делать???
     
  2. KINDER

    KINDER Гость

    Я вижу здесь ошибку:
    Код (Text):
    a_[1].x=2;
    Ты не можешь так сделать.
    По умолчанию член класса x является приватным (private).
    Доступ к приватным членам класса имеет только функция, сама являющаяся членом класса.
    А функция main() имеет доступ только к публичным членам класса (public).

    Во-вторых, обьявлять класс

    Код (Text):
    class A{
     float x;
    };
    лучше не в теле функции main() а до нее, сразу после строки #include <iostream.h>
    Это чтобы не путаться! Так все делают.

    Вот как надо:

    Код (Text):
    #include <iostream.h>

    class A{
    public:
     float x;
    };

    void main(){
    A a_[100];
    a_[1].x=2;
    };
    или так
    Код (Text):
    #include <iostream.h>

    class A{
     float x;
    public:
     Set(float val) { x=val; }
    };

    void main(){
    A a_[100];
    a_[1].Set(2);
    };
    извините за зеленый шрифт, непонятно откуда появился черный фон, и пришлось так сделать. я здесь первый раз...
     
Загрузка...
Статус темы:
Закрыта.

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