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

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

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

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

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

здравствуйте, мне нужно рганизовать структуру Point с float полями x,y, организовать класс Triangle с Point полями a,b,c и функцией вычисления площади которая возвращает площадь данного треугольника.
я только недавно начала изучать плюсы и не могу разобраться с созданием классов и структур(
помогите пожалуйста с кодом)и если не сложно желательно с комментариями)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2013, 22:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос структура и класс (C++):

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

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

Вложенная структура в класс - C++
Привет всем, пишу шаблонный класс - кольцевой двунаправленный список, вообщем объявил структуру Node в классе: template <class T>...

Структура или класс - C++
Подскажите, пожалуйста, своими словами, что такое структура и что такое класс. В чем отличие и как их использовать? У меня есть...

Получается структура в С++ - это класс? - C++
Элементами или полями структуры могут быть переменные, массивы, ранее определенные структуры. Функции не могут быть полями структуры (В...

оператора индексации+класс+структура - C++
Задача такая нужна создать словарь терминов. 1.Создаю свой тип данных помощью struct term (слово термин) definition (определение к...

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

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

Структура и класс string. Проблема с выводом строки. - C++
Такая проблема: объявляю структуру с классом string: struct exam { std::string name; ... }; Затем объявляю...

Требуется класс, делегат, перечисление, интерфейс или структура - C++
помогите понять в чем тут всё таки ошибка, все попытки исправить самостоятельно были безрезультатны... using System; using...

Структура «Школьник»: фамилия, имя, отчество; класс; номер телефона; оценки по предметам - C++
Структура «Школьник»: фамилия, имя, отчество; класс; номер телефона; оценки по предметам (математика, физика, русский язык,...

Структура/класс "Студент". Применение конструкторов - C++
Не используя функции стандартной библиотеки Си для работы со строками, кроме указанных написать собственную функцию ,реализующую алгоритм....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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