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

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

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

Создать абстрактный класс A, который включает в себя: - C++

02.06.2010, 19:49. Просмотров 889. Ответов 9
Метки нет (Все метки)

Помогите решить, пожалуйста.
Спасибо.

Создать абстрактный класс A, который включает в себя: два вещественных числа; конструктор с параметрами; чисто виртуальные функции squaer() и perimeter(). Производный от него класс Rectangle. Программа считает площадь и периметр прямоугольника, используя позднее связывание.

Добавлено через 32 минуты
Пожалуйста с объяснениями.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2010, 19:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать абстрактный класс A, который включает в себя: (C++):

Создать абстрактный базовый класс Point, который включает в себя: - C++
Помогите решить с объяснениями. Создать абстрактный базовый класс Point, который включает в себя: два числатипа double (координаты...

Сгенерировать элементы вектора А, который включает в себя 11 элементов в пределах от 5 до 15 - C++
2) Сгенерировать елементи вектора А, который включает в себя 11 елементов. Его елементы должны быть целымы числами и находиться в пределах...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sergyk
1 / 1 / 0
Регистрация: 22.06.2009
Сообщений: 43
26.06.2010, 00:33  [ТС] #2
Может кто-нибудь поможет.
0
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
26.06.2010, 01:32 #3
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <cstdlib>
#include <cstring>
class A
{
protected:
    float a,b;// Стороны
public:
    A(float a, float b) //Конструктор
    {
        a=this->a;
        b=this->b;
    }
    virtual double Area()=0; //Чисто виртуальная функция площади
    virtual double Perimetr()=0; //Чисто виртуальная функция периметра
};
class Rectangle:public A
{
public:
    Rectangle():A(a,b){}
    double Perimetr()
    {
        return (a+b)*2;
    }
    double Area()
    {
        return a*b;
    }
    void SetInfo(double _a, double _b)
    {
        a=_a;
        b=_b;
    }
    double GetA()
    {
        return a;
    }
    double GetB()
    {
        return b;
    }
};
int main()
{
    Rectangle A;
    double a=0;double b=0;
    std::cout<<"Enter a: \n";std::cin>>a;
    std::cout<<"Enter b: \n";std::cin>>b;
    A.SetInfo(a,b);
    std::cout<<"For rectangle with sides: "<< A.GetA() << " " << A.GetB() <<'\n';
    std::cout<<"Perimetr: "<< A.Perimetr() <<'\n';
    std::cout<<"Area: "<< A.Area() <<'\n';
    return 0;
}
Держи
0
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.06.2010, 11:40 #4
Цитата Сообщение от Lavroff Посмотреть сообщение
A(float a, float b) //Конструктор
{
a=this->a;
b=this->b;
}
очень интересный конструктор
1
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
26.06.2010, 14:29 #5
Цитата Сообщение от Roma_F Посмотреть сообщение
очень интересный конструктор
Главное что работает=) Можно конечно a=0,b=0 вроде как)
0
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.06.2010, 17:31 #6
Цитата Сообщение от Lavroff Посмотреть сообщение
Главное что работает
что работает?
0
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
27.06.2010, 00:10 #7
Цитата Сообщение от Roma_F Посмотреть сообщение
что работает?
С таким конструктором вполне неплохо создается объект заданного класса. ХОтя нет. Туплю. Мы не создаем объект абстрактного класса) Программа работает
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 00:19 #8
Lavroff, вместо:
Цитата Сообщение от Lavroff Посмотреть сообщение
C++
1
2
3
4
5
A(float a, float b) //Конструктор
{
  a=this->a;
  b=this->b;
}
используй список инициализации:
C++
1
2
3
4
A(int a, int b)
: a(a)
, b(b) 
{}
Читается гораздо легче и выполняется быстрее.
Любо везде используй глагольные формы для именования методов: GetA, GetArea и т.д., либо не используй вовсе: A, Area и т.д. Иначе код выглядит неоднородно.
0
ForEveR
В астрале
Эксперт С++
7973 / 4735 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
27.06.2010, 00:20 #9
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Lavroff, вместо:

используй список инициализации:
C++
1
2
3
4
A(int a, int b)
: a(a)
, b(b) 
{}
Для именования методов лучше использовать глагольные формы: GetArea, GetPerimeter.
Но это все из разряда удобства все же. Спасибо)
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 00:39 #10
Цитата Сообщение от Lavroff Посмотреть сообщение
Но это все из разряда удобства
Не только, как я сказал выше вариант со списком будет еще и быстрее.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2010, 00:39
Привет! Вот еще темы с ответами:

Абстрактный класс. Виртуальный метод, который возвращает T- тип - C++
Привет! Допустим, есть абстрактный класс, и метод, который возвращает T-тип. class A { public: template &lt;class T&gt; T*...

Скопировать объект, на который ссылается указатель на абстрактный класс - C++
Доброго времени суток. У меня такое задание: написать программу символьного дифференцирования, т.е. пользователь пишет функцию f(x), а...

Класс: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle - C++
Создать абстрактный базовый класс Figure с виртуальной функцией -периметр.Создать производные классы Rectangle, Circle,Triangle,Rhomb в...


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

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

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