Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
1

структура и класс

07.08.2013, 22:17. Показов 1132. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте, мне нужно рганизовать структуру Point с float полями x,y, организовать класс Triangle с Point полями a,b,c и функцией вычисления площади которая возвращает площадь данного треугольника.
я только недавно начала изучать плюсы и не могу разобраться с созданием классов и структур(
помогите пожалуйста с кодом)и если не сложно желательно с комментариями)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2013, 22:17
Ответы с готовыми решениями:

Класс Vs Структура
Привет, Подскажите, почему когда меня struct на class, мне подчеркивает health? #include...

Структура и класс
Доброго времени суток! Имеется задача: создать класс для работы с КАРТОТЕКОЙ КНИГ. Класс хранит...

Класс, структура
есть классы class A { public: char ch; int a, b; double c; };

Структура или класс ?
Всем привет. Объясните, что и в какой ситуации лучше использовать - структуру или класс ? Можете...

6
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;
}
Как-то так. Объяснять у меня не очень получается
0
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
07.08.2013, 23:04  [ТС] 3
спасибо большое)вроде понятно,но у меня есть несколько вопросов*
что такое temp1,2,3 и зачем?при вычислении площади какие переменные использовать?
и как присвоить a,b и c значение длин сторон?
0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
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;
}
0
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)

Думается мне, что такими "объяснениями" только сильнее запутал
0
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 3
08.08.2013, 00:14  [ТС] 6
хахах)мммм,ну буду перечитывать 100500 раз, разбираться)если что еще можно грузить вопросами?*
0
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 12
08.08.2013, 13:33 7
Цитата Сообщение от moore_ Посмотреть сообщение
если что еще можно грузить вопросами?*
Ну это же форум - хоть кто-нибудь да ответит, наверное.
0
08.08.2013, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.08.2013, 13:33
Помогаю со студенческими работами здесь

Структура: Школьный класс
нужно описать, используя структуру данных запись, школьный класс (фамилия и инициалы, дата...

Структура вложенная в класс
Добрый день! Начинаю изучать C#, поэтому есть вопросы :) Вот пример кода: public class...

Вложенная структура в класс
Привет всем, пишу шаблонный класс - кольцевой двунаправленный список, вообщем объявил структуру...

Класс или структура
Задача такая: Есть переменная которая хранит текст. Из этой переменной закинул в коллекцию...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru