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

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

Восстановить пароль Регистрация
 
sergyk
1 / 1 / 0
Регистрация: 22.06.2009
Сообщений: 43
02.06.2010, 19:49     Создать абстрактный класс A, который включает в себя: #1
Помогите решить, пожалуйста.
Спасибо.

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

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

Создать абстрактный класс C++
Создать абстрактный базовый класс Point, который включает в себя: C++
Создайте программу с классом student, который включает в себя данные о студентах, желающих получить места в общежитии. C++
Создать абстрактный тип данных - класс вектор, который имеет указатель на long, число элементов и переменную состояния C++
C++ Сгенерировать элементы вектора А, который включает в себя 11 элементов в пределах от 5 до 15
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sergyk
1 / 1 / 0
Регистрация: 22.06.2009
Сообщений: 43
26.06.2010, 00:33  [ТС]     Создать абстрактный класс A, который включает в себя: #2
Может кто-нибудь поможет.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.06.2010, 01:32     Создать абстрактный класс A, который включает в себя: #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;
}
Держи
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.06.2010, 11:40     Создать абстрактный класс A, который включает в себя: #4
Цитата Сообщение от Lavroff Посмотреть сообщение
A(float a, float b) //Конструктор
{
a=this->a;
b=this->b;
}
очень интересный конструктор
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.06.2010, 14:29     Создать абстрактный класс A, который включает в себя: #5
Цитата Сообщение от Roma_F Посмотреть сообщение
очень интересный конструктор
Главное что работает=) Можно конечно a=0,b=0 вроде как)
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
26.06.2010, 17:31     Создать абстрактный класс A, который включает в себя: #6
Цитата Сообщение от Lavroff Посмотреть сообщение
Главное что работает
что работает?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.06.2010, 00:10     Создать абстрактный класс A, который включает в себя: #7
Цитата Сообщение от Roma_F Посмотреть сообщение
что работает?
С таким конструктором вполне неплохо создается объект заданного класса. ХОтя нет. Туплю. Мы не создаем объект абстрактного класса) Программа работает
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 00:19     Создать абстрактный класс A, который включает в себя: #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 и т.д. Иначе код выглядит неоднородно.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.06.2010, 00:20     Создать абстрактный класс A, который включает в себя: #9
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Lavroff, вместо:

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

Создать абстрактный класс Integer C++
C++ Создать абстрактный базовый класс
C++ Абстрактный класс. Виртуальный метод, который возвращает T- тип

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 00:39     Создать абстрактный класс A, который включает в себя: #10
Цитата Сообщение от Lavroff Посмотреть сообщение
Но это все из разряда удобства
Не только, как я сказал выше вариант со списком будет еще и быстрее.
Yandex
Объявления
27.06.2010, 00:39     Создать абстрактный класс A, который включает в себя:
Ответ Создать тему
Опции темы

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