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

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

Guest_dmitry303

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

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

Гость
#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);
};
извините за зеленый шрифт, непонятно откуда появился черный фон, и пришлось так сделать. я здесь первый раз...
 
Статус
Закрыто для дальнейших ответов.