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

структура и класс - C++

Восстановить пароль Регистрация
 
moore_
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
07.08.2013, 22:17     структура и класс #1
здравствуйте, мне нужно рганизовать структуру Point с float полями x,y, организовать класс Triangle с Point полями a,b,c и функцией вычисления площади которая возвращает площадь данного треугольника.
я только недавно начала изучать плюсы и не могу разобраться с созданием классов и структур(
помогите пожалуйста с кодом)и если не сложно желательно с комментариями)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hommius
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 12
07.08.2013, 22:48     структура и класс #2
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
#include "stdafx.h"
 
struct Point { //объявляется структура Point
    float x,y; //у которой 2 поля типа float
};
class Triangle { //объявляется класс Triangle
    Point a,b,c; //у него 3 Point поля
public: 
    Triangle(Point temp1, Point temp2, Point temp3) { //это конструктор класса
        a = temp1;
        b = temp2;
        c = temp3;
    }
 
    float CalculateArea() { //это метод класса, в котором будет считаться площадь
        return 1.2345; //вместо этого должен быть код, который будет считать площадь
    }
};
int main()
{
    Point a; 
    a.x = 1.0f;
    a.y = 1.0f;
    Point b; 
    b.x = 1.0f;
    b.y = 1.0f;
    Point c; 
    c.x = 1.0f;
    c.y = 1.0f;
 
    Triangle temp(a,b,c); //так создается объект(temp) класса Triangle
    float square = temp.CalculateArea();//так используется метод CalculateArea
    return 0;
}
Как-то так. Объяснять у меня не очень получается
moore_
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
07.08.2013, 23:04  [ТС]     структура и класс #3
спасибо большое)вроде понятно,но у меня есть несколько вопросов*
что такое temp1,2,3 и зачем?при вычислении площади какие переменные использовать?
и как присвоить a,b и c значение длин сторон?
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
07.08.2013, 23:17     структура и класс #4
Цитата Сообщение от moore_ Посмотреть сообщение
спасибо большое)вроде понятно,но у меня есть несколько вопросов*
что такое temp1,2,3 и зачем?при вычислении площади какие переменные использовать?
и как присвоить a,b и c значение длин сторон?
Temp1,2,3 это экземпляры структуры поинт
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    Point a; 
    a.x = 1.0f;                //задается значение для поинт a точки x
    a.y = 1.0f;               //задается значение для поинт a точки y
    Point b; 
    b.x = 1.0f;              //задается значение для поинт b точки x
    b.y = 1.0f;              //задается значение для поинт b точки y
    Point c; 
    c.x = 1.0f;              //задается значение для поинт b точки x
    c.y = 1.0f;              //задается значение для поинт b точки y
 
    Triangle temp(a,b,c); // а тут происходит передача всех 3-х a,b,c в конструкторк класса где они принимают вид temp 1,2,3
 
 
    float square = temp.CalculateArea();//так используется метод CalculateArea
    return 0;
}
hommius
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 12
07.08.2013, 23:28     структура и класс #5
Цитата Сообщение от moore_ Посмотреть сообщение
что такое temp1,2,3 и зачем?
Это локальные переменные конструктора. Смотри:
Цитата Сообщение от hommius Посмотреть сообщение
Triangle temp(a,b,c); //так создается объект(temp) класса Triangle
Здесь мы создаем новый объект. При создании объекта запустится конструктор, который присвоит значения a, b и c переменным temp1,temp2,temp3. Ну а в теле конструктора можно увидеть, что значения temp1,temp2,temp3 присваиваются полям a,b,c(не путать с a,b,c из предыдущего предложения).
Цитата Сообщение от moore_ Посмотреть сообщение
при вычислении площади какие переменные использовать?
Были созданы 3 поля класса Triangle - a, b и c. Чтобы получить, например, координату по оси X точки 'a' нужно написать: a.x
Цитата Сообщение от moore_ Посмотреть сообщение
и как присвоить a,b и c значение длин сторон?
Тем, которые в классе? Это делается при создании объекта temp:
Цитата Сообщение от hommius Посмотреть сообщение
Triangle temp(a,b,c);
создается объект класса Triangle и a,b,c(которые поля) у объекта temp становятся равны a,b,c(которые в main)

Думается мне, что такими "объяснениями" только сильнее запутал
moore_
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
08.08.2013, 00:14  [ТС]     структура и класс #6
хахах)мммм,ну буду перечитывать 100500 раз, разбираться)если что еще можно грузить вопросами?*
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2013, 13:33     структура и класс
Еще ссылки по теме:

Структура или класс C++
C++ Структура/класс "Студент". Применение конструкторов
Структура «Школьник»: фамилия, имя, отчество; класс; номер телефона; оценки по предметам C++

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

Или воспользуйтесь поиском по форуму:
hommius
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 12
08.08.2013, 13:33     структура и класс #7
Цитата Сообщение от moore_ Посмотреть сообщение
если что еще можно грузить вопросами?*
Ну это же форум - хоть кто-нибудь да ответит, наверное.
Yandex
Объявления
08.08.2013, 13:33     структура и класс
Ответ Создать тему
Опции темы

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