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

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

    Скидки до 10%

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

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

  • Автор темы Guest_dmitry303
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_dmitry303

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

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

Код:
#include <iostream.h>
void main(){
class A{
 float x;
};
A a_[100];
a_[1].x=2;
};

А под WinAPI тоже самое выдается ошибки

Код:
class A{
 float x;
};
A a_[100];
a_[1].x=2;

Что делать???
 
K

KINDER

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

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

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

Вот как надо:

Код:
#include <iostream.h>

class A{
public:
 float x;
};

void main(){
A a_[100];
a_[1].x=2;
};

или так
Код:
#include <iostream.h>

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

void main(){
A a_[100];
a_[1].Set(2);
};

извините за зеленый шрифт, непонятно откуда появился черный фон, и пришлось так сделать. я здесь первый раз...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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