Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
AnreyKazakov
Заблокирован
#1

Создать свой класс - C++

17.09.2012, 14:39. Просмотров 1500. Ответов 10
Метки нет (Все метки)

сижу книжку читаю (уже пару недель), там по чуть-чуть все время про классы (в каждой главе) рассказывают, а как полностью сконструировать пока нигде нет, в общем надоела уже такая "оттяжка"... Помогите, пожалуйста, "поэтапно" сконструировать класс. А то у меня знания о нем в шахматном порядке, блин....
Пока смог только объявить класс, вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using std::cout;using std::endl;using std::string;
 
class ferstmy{ \\класс =)
    public:
    int k1;
    private:
    int k2;
    };
 
int main(){
    cout<<"Все работает!"<<endl;
    ferstmy klass1;
    
    }
Сразу вопросы появились Во-первых, какая разница в объявлении
private и public
переменных, неужели не будет видна переменная к2 из main'а?
Во-вторых, каким-то значением можно класс приведенный выше инициализировать? Пробовал klass1=1
и ferstmy klass(1); не пашет. Он же содержит переменную int к1 public....

Добавлено через 2 минуты
Ну, то есть присвоить как-нибудь можно какое-нибудь значение?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2012, 14:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать свой класс (C++):

Создать свой класс - C++
Помогите пожалуйста, сколько бьюсь уже не могу ничего найти что понятно мне будет... Как свой класс создать чтобы он хоть что-то делал,...

Создать свой класс, содержащий три закрытые переменные - C++
Программа на С++ СРОЧНО! Создать свой класс, содержащий три закрытые переменные типа int, char, double, одну открытую переменную и две...

Как создать свой класс и подключить его в main? - C++
я новичок,хотел поинтересоваться,когда люди пишут программу,они сначала главную функцию main пишут,а потом пишут классы и подключают к main...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
17.09.2012, 14:40 #2
klass.k1 = 2; \\ сработает
klass.k2 = 2; \\ не сработает. нет доступа, ибо прайвт
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.09.2012, 14:43 #3
AnreyKazakov, Если читаете книжку - читайте. Там все будет объясняться. Если есть желание лезть вперед - смотрите так же в книжку. Форум - не книга.
0
AnreyKazakov
Заблокирован
17.09.2012, 14:48  [ТС] #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using std::cout;using std::endl;using std::string;
class ferstmy{
    public:
    int k1;
    string str1;
    private:
    int k2;
    };
 
int main(){
    cout<<"Все работает!"<<endl;
    ferstmy klass1;
    klass1.k1=5;
    cout<<(klass1.k1+1)<<endl;
    }
хорошо, переписал, работает, ура ! =)
Теперь вопрос следующий, я видел, что допустим в классе объявлен стринг и инт, как выше
C++
1
2
int k1;
string str1;
Вот так, и там присваивание шло как-то так cin>>klass; вот, а в запрос на ввод строки вписывали
12 asdfggsas
и в результате k1 присваивалось число 12, а str присваивалась оставшийся кусок asdfggsas
Для такой фишки специальную член-функцию надо писать, да?
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.09.2012, 14:49 #5
AnreyKazakov, Оператор ввода из потока надо писать - читайте книгу дальше.
0
AnreyKazakov
Заблокирован
17.09.2012, 14:49  [ТС] #6
Цитата Сообщение от ForEveR Посмотреть сообщение
Если есть желание лезть вперед - смотрите так же в книжку.
Да я честно устал уже, в основном из-за классов и стал читать, а уже 288 страница, до сих пор никаких целостных знаний не получил, одни обрывки...
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
17.09.2012, 14:51 #7
страуструпа надобно читать
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
17.09.2012, 15:38 #8
Крупник А.Б. - Изучаем C++
0
AnreyKazakov
Заблокирован
17.09.2012, 16:51  [ТС] #9
Сделал конструктор (по книжке), но он не пашет, компилятор материт, и не компелит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using std::cout;using std::endl;using std::string;
class ferstmy{
    public:
    int k1;
    int k2;
    ferstmy{}:k1(23),k2(32)()//вот здесь...
    private:
    
    };
 
int main(){
    cout<<"Все работает!"<<endl;
    ferstmy klass1;
    klass1.k1=8;
    cout<<(klass1.k1+1)<<" "<<(klass1.k2)<<endl;
    }
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
17.09.2012, 16:52 #10
а так

C++
1
ferstmy():k1(23),k2(32){}
0
AnreyKazakov
Заблокирован
17.09.2012, 16:53  [ТС] #11
Ахах, написал, увидел ошибку =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2012, 16:53
Привет! Вот еще темы с ответами:

Свой класс в С++ - C++
Пытаюсь сделать класс массива точнее переписать код из учебника, но так как код приводится не целый а кусками то что в данный момент...

Свой класс String - C++
Небольшой набросок на класс String #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; class String { struct...

Свой класс string - C++
Всем доброго дня! Только начал разбираться с этим замечательным языком. Вот пытаюсь реализовать свой класс строки, но не могу понять в чем...

свой класс string - C++
Есть два вопроса: почему компилятор ругает вот это s = str + str2;? Хотя догадываюсь почему, скорее всего у меня не так реализован оператор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.09.2012, 16:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru