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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать шаблонный класс для определения нормы элемента заданного типа http://www.cyberforum.ru/cpp-beginners/thread1180839.html
Нужно создать шаблонный класс для определения нормы элемента заданного ти-пу. Для комплексных чисел норма определяется как модуль комплексно-го, для вектора - как корень квадратный из суммы квадратов элементов, для матрицы - максимальное значение по модулю. Применить класс для поиска элементов различных типов. Очень долго ломал голову но так и не понял что надо зделать. помогите пож)
C++ Функции обработки структур BOX Помогите с задачей, пожалуйста! Условие на фотографии: http://www.cyberforum.ru/cpp-beginners/thread1180837.html
C++ Считать текст после определенного набора символов
Здравствуйте! Помогите, пожалуйста, составить программу, которая бы считывала бы текст после определенного набора символов PTR= до символа %, например "dgfdPTR=ADGGD%"-выводится ADGGD. В тексте данная комбинация встречается много раз. #include <iostream> #include <fstream> using namespace std; int main() { ifstream in("input.txt"); char str='PTR='; Что дальше писать не...
Многофайловая программа с заголовком C++
Помогите с задачей, пожалуйста! Условие на фотографии: <...> Добавлено через 2 часа 50 минут Пусть имеется определение следующего простого класса: class Person { private: static const LIMIT=25; string lname; //Фамилия char fname; //Имя
C++ Из текстового файла распечатать строку с заданным номером http://www.cyberforum.ru/cpp-beginners/thread1180828.html
Нужно доработать программу.Зависает.С++.Файлы После ввода в консоль номер строки, консоль зависает. Вот код: #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <iostream>
C++ Работа с классами Помогите с задачей, пожалуйста! Условие на фотографии: Перепечатывайте задание на форум. подробнее

Показать сообщение отдельно
jekmut
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 57
11.10.2014, 21:04     Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle
Спасибо, работает! )

Добавлено через 23 часа 55 минут
Друзья, сделал задание полностью. Использовал наследование... Как мне переделать это же задание, воспользовавшись дружными (friend) классами и методами? Благодарю!

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include<iostream>
#include<conio.h>
 
using namespace std;
 
class Figure
{
public:
  virtual double GetSquare() = 0;
  virtual double GetPerimeter() = 0;
};
 
class Rectangle : public Figure
{
protected:
  double a, b;
public:
  Rectangle(double, double);
  double GetSquare(){return a * b;}
  double GetPerimeter(){return (a + b) * 2.;}
};
 
Rectangle :: Rectangle(double a, double b)
{
  this -> a = a;
  this -> b = b;
}
 
class Circle : public Figure
{
  double r;
public:
  Circle(double);
  double GetSquare(){return (3.141592 * (r * r));}
  double GetPerimeter(){return (2 * 3.141592 * r);}
};
 
Circle :: Circle(double r)
{
  this -> r = r;
}
 
class Trapezium : public Rectangle
{
  double c, d, h;
public:
  Trapezium(double, double, double, double, double);
  double GetSquare(){return ((a + b) * h / 2);}
  double GetPerimeter(){return ( a + b + c + d);}
};
 
Trapezium :: Trapezium(double a, double b, double c, double d, double h) : Rectangle(a, b)
{
  this -> c = c;
  this -> d = d;
  this -> h = h;
}
 
int main()
{
  Figure *f = new Rectangle(10., 20.);
  cout << "Square of Rectangle: " << f -> GetSquare() << endl;
  cout << "Perimeter of Rectangle: " << f -> GetPerimeter() << endl << endl;
  
  f = new Circle(5.);
  cout << "Square of Circle: " << f -> GetSquare() << endl;
  cout << "Perimeter of Circle: " << f -> GetPerimeter() << endl << endl;
  
  f = new Trapezium(8., 6., 8., 12., 7.);
  cout << "Square of Trapezium: " << f -> GetSquare() << endl;
  cout << "Perimeter of Trapezium: " << f -> GetPerimeter() << endl;
  
  getch();
  return 0;
}
 
Текущее время: 08:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru