ОБСУЖДЕНИЕ

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

1 ответов 4,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

Просто в 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;

Что делать???
 
Я вижу здесь ошибку:
Код:
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);
};

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