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 кб.) Скачано 248 раз |
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
| лОол. что еще сказать |