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

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

Войти
Регистрация
Восстановить пароль
 
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
#1

Класс:) - C++

01.12.2009, 18:47. Просмотров 650. Ответов 16
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;
class Vehicle{
    int passengers;
    int mpg;
    int fuelcap;
public:
    Vehicle(int p,int m,int f){
        passengers=p;
        mpg=m;
        fuelcap=f;
    }
    int range(){
        return mpg*fuelcap;
    }
    int get_passengers(){
        return passengers;
    }
    int get_mpg(){
        return mpg;
    }
    int get_fuelcap(){
        return fuelcap;
    }
};
int main(){
    Vehicle minivan(7,16,21);
    Vehicle sportcar(2,14,12);
    int range1,range2;
    range1=minivan.range();
    range2=sportcar.range();
    cout<<range1<<endl<<range2;
    system("PAUSE");
        return 0 ;
}
тут переменным класса автоматически передаются значения из функции main ()
а как сделать что бы я через cin их передовал ???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 18:52     Класс:) #2
morgusha, в конструкторе не константы вставляй а объяви переменные и запихни их туда типа такого
C++
1
int n ; cin >> n ; vehicle minivan(n);
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 18:57  [ТС]     Класс:) #3
я не понял ! я тока начала классы изучать ! можно код выводить полностью ?

Добавлено через 2 минуты
я не понял ! я тока начал классы изучать ! можно код выводить полностью ?
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:00     Класс:) #4
morgusha,
C++
1
2
3
int a,b,c;
cin>>a>>b>>c;
Vehicle minivan(a,b,c);
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:05  [ТС]     Класс:) #5
C++
1
2
3
4
5
6
7
8
9
class Vehicle{
    int passengers;
    int mpg;
    int fuelcap;
public:
    Vehicle(int p,int m,int f){
        int p,m,f;
cin>>p>>m>>f;
Vehicle minivan(p,m,f);
так что ли?
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:08     Класс:) #6
morgusha, мой код для мейна ) вместо vehicle minivan(7,16,21);
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:12  [ТС]     Класс:) #7
я думал в конструктор)

Добавлено через 3 минуты
а для другуго экземпляра значит прийдётся повторять эти 3 строчки или можно сделать что бы сначала вводилось для minivan а потом для sportcar ???
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:15     Класс:) #8
morgusha, можешь потом и для vehicle sportcar(a,b,c);
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:21  [ТС]     Класс:) #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main(){
    //Vehicle minivan(7,16,21);
    int a,b,c,d,e,f;
    cin>>a>>b>>c>>d>>e>>f;
    Vehicle minivan(a,b,c);
    Vehicle sportcar(d,e,f);
    //Vehicle sportcar(2,14,12);
    int range1,range2;
    range1=minivan.range();
    range2=sportcar.range();
    cout<<range1<<endl<<range2;
    system("PAUSE");
        return 0 ;
}
так вот
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:23     Класс:) #10
morgusha, попрёт)))))
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:32  [ТС]     Класс:) #11
а ту вот Vehicle minivan(a,b,c);
тоесть а будет передана для значения passanger и.т.д. ,да?

Добавлено через 7 минут
я хочу сделать что бы для всех экземпляров класса ,ну для minivan и для sportcar я данные вводил поочереди сначало для minivan а потом для sportcar ! и что бы было в cin только 3 переменные !
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:46     Класс:) #12
morgusha, ну вводи первые три создавай объект потом вторые три и новый объект в чом проблема?
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:49  [ТС]     Класс:) #13
Vehicle minivan(a,b,c);
Vehicle sportcar(a,b,c);
вот так вот нельзя ???
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:50     Класс:) #14
morgusha, можно , каждый объект имеет свои собственные поля данных конечо если это поле не static то есть у каждого твоего объекта свои собственные поля типа passenger и т д
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 19:52  [ТС]     Класс:) #15
почемуто можно ввести отлько 3 переменные и всё ! а для второго экземпляра не вводится ничего ???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main(){
    //Vehicle minivan(7,16,21);
    //int a,b,c,d,e,f;
    int a,b,c;
    //cin>>a>>b>>c>>d>>e>>f;
    cin>>a>>b>>c;
    Vehicle minivan(a,b,c);
    Vehicle sportcar(a,b,c);
    //Vehicle sportcar(2,14,12);
    int range1,range2;
    range1=minivan.range();
    range2=sportcar.range();
    cout<<range1<<endl<<range2;
    system("PAUSE");
        return 0 ;
}
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.12.2009, 19:55     Класс:) #16
morgusha, так у вас ввод то один после ввода у вас в а б c сидят те значения которые вы ввели и вы в конструктор у обоих объектов их подаёте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2009, 20:09     Класс:)
Еще ссылки по теме:

C++ Класс данных, класс сортировок
Класс создающий другой класс (ошибка) C++
C++ Класс "Товар" и класс-контейнер
C++ Класс
C++ Дан класс, преобразуйте его в статический класс со статическими методами и продемонстрируйте работу с ним

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

Или воспользуйтесь поиском по форуму:
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 243
01.12.2009, 20:09  [ТС]     Класс:) #17
ошибка исправлена ! Большое спасибо !

Добавлено через 12 минут
А интересно вот такой метод присваивания полей класса он хорош или нет ??? Может есть что поинтереснее и полегче???
Yandex
Объявления
01.12.2009, 20:09     Класс:)
Ответ Создать тему
Опции темы

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