|  12.03.2013 / 01:03 |  | 
| BPS    Супермодератор 
  Сейчас: Offline 
 Имя: Лолка какая-тоОткуда: Ponyland
 Регистрация: 15.12.2011
 
 |  Artej (17.01.12 21:56)bogdan-g, "atrej" - это прям
 оскорбление. Когда перечитал - чуть не уписалсо, почему то
 
 | 
|  14.03.2013 / 20:27 |  | 
| RouiD    Пользователь 
  Сейчас: Offline 
 Имя: РудіОткуда: Nightcity
 Регистрация: 17.01.2010
 
 | С каких пор Nokia уже стала операционкой?  
 Прикрепленные файлы:  thhj5.png  (17.06 кб.) Скачано 255 раз  | 
|  15.03.2013 / 14:07 |  | 
| ВитаминКО    Супермодератор 
  Сейчас: Offline 
 Имя: ВасилиусОткуда: RZN
 Регистрация: 20.04.2012
 
 | __________________RouiD, с тех самых, когда Android - телефоном  
   わからない!! | 
|  24.03.2013 / 13:35 |  | 
| aNNiMON   Супервизор 
  Сейчас: Offline 
 Имя: ВитёкРегистрация: 11.01.2010
 
 | __________________Полтора года назад писал для хлопца инфу о классах в С++Мое класс и почему Открыть спойлер Закрыть спойлерКласс - это некоторая область, в которой могут храниться данные и операции над ними. Считай что это та же struct, только в ней можно юзать методы и функции. Класс объявляется так:
 
 
 class ImyaClassa {public:   ImyaClassa();   ~ImyaClassa();   void kakoyToMetod();private:   int kakayaToFunction(int y);};
ImyaClassa(); это называется конструктором, это такой как бы метод, в котором мы присваиваем переменным начальные значения.
 ~ImyaClassa(); это деструктор, в нём то, что мы создали надо удалить. То есть если в конструкторе юзали new, то в деструкторе delete нужно. Важная особенность: имя конструктора и деструктора должны в точности соответствовать имени класса. Например:
 
 Особо можешь не заморачиваться сейчас по поводу конструкторов и деструкторов, в твоей задаче они не существенны.class Ololo {public:   Ololo();   ~Ololo();илиclass Buhlo {public:   Buhlo();   ~Buhlo();
 Всё что написано после public можно юзать везде, всё что после private - можно юзать только в самом классе. Легко заметить, что этими шнягами можно скрывать ненужные методы и переменные. Обычно в private засовуют переменные и кое-какие вспомогательные методы:
 
 private: int length; int massivko[]; char fuckintosh[]; void goToTheRaddish(); int getStepuxa(boolean facepalm);
В public кидают те методы, которые будут потом вызываться из главной программы.
 Например в программировании пятая лаба можно было бы в класс запихнуть такое:
 
 public:   void binarySearch(int[] massiv); //потому что это нам надо вызывать в int main   void lineyniyFind(int[] massiv);private:   void swap(int a, int b); // эти методы касаются лишь самого класса, в int main они   int min(int a, int b); //нам не нужны, поэтому делаем их private.   int max(int a, int b);
Теперь о самой реализации.
 Есть два пути описания методов в классе. Опишу один из них, а другой как-нибудь потом.
 
 class Buhlo {public:   Buhlo() {       alcohol = 0;       girlsIsFrogs = false;   }    ~Buhlo() {       // оставляем пустым, потому что в Buhlo(); нет ни одного new, то есть delete нам не нужны.    }    int tost(char* text) {       int like_a_tost = rand() % 10;       if (like_a_tost < 2) cout << "Idi na XYZ,%$@!#";      else if (like_a_tost > 7 && isBaba) {         coolMujik = true;        perespat(true);      }      return like_a_tost;    }     void zabuhat(int numOfPeoples) {        alcohol ++;        if( alcohol > 60 && numOfPeoples > 6) {              draka();        }     }private:   int alcohol;    bool coolMujik, isBaba;   void perespat() {      // some realization   }    void datVMordu() {       // some realization    }     void draka() {        int iterations = rand() % 2000;        for (int i = 0; i < iterations; i++) {             datVMordu();         }    } };
Вот так реализовывается класс. В принципе, легко заметить, что всё тривиально - методы и функции всё те же, просто добавились public и private. Если всё еще испытываешь затруднения то объявляй всё public.
 
 Как юзать классы.
 Также как и обычные переменные: ImyaClassa imyaperemennoy;
 Для доступа к publiс методам юзай точку. imyaperemennoy.imyaMethoda();
 
 int main() {   Buhlo vPyatnicu;  vPyatnicu.tost("За milyx dam");  vPyatnicu.zabuhat(20);}
Деструктор (шняга с ~ImyaClassa()) вызывать нельзя - он сам вызывается.
 Также нельзя вызвать private объетки:
 vPyatnicu.datVMordu(); //нельзя
 vPyatnicu.draka(); //тоже нельзя
 
 Вот, собственно, и всё.
   let live | 
|  10.05.2013 / 13:23 |  | 
| Its_Your_Soul    Пользователь 
  Сейчас: Offline 
 Имя: СашаОткуда: Винница
 Регистрация: 29.08.2012
 
 | лОол. что еще сказать   |