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

наследование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread268778.html
2.3) Дана квадратная матрица.Поменять последние элементы каждого столбца с элементами главной диагонали.
C++ строковый массив. сортировка и поиск в нем помгите с задачей, пожалуйста. даже не знаю, с чего начать дан одномерный массив, состоящий из произвольного количества слов, каждое из которых имеет одну или больше букв "О". Организовать его сортировку по возростанию способом обмена. Ключ сортировки - количество в слове букв "О". Вывести информацию о том, сколько слов в массиве имело только одну букву "О". Особенности: использовать... http://www.cyberforum.ru/cpp-beginners/thread268754.html
Системы искусственного интелекта C++
Помогите разобраться!Нужно написать программу на си#, которая ставит диагноз по истории болезни... даже не знаю с какой стороны подойти к этой задаче....
Описание программы C++
Помогите разобратся в программе... кто нибудь может написать описание к каждой строчке?? Вот текст программы: #include <stdio.h> #include <conio.h> int doska; int horizontal, vertical;
C++ чтение значения из реестра http://www.cyberforum.ru/cpp-beginners/thread268697.html
Подскажите пожалуйста в чем здесь ошибка? #include <stdio.h> #include <windows.h> #include <iostream.h> int main(int argc, char* argv) { HKEY rKey; DWORD Reget; DWORD RegetPath = sizeof;
C++ Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. Дан файл, содержащий текст на русском языке, в котором встречаются некоторые 2 слова. определить сколько раз эти слова встречаются в тексте и сколько непосредственно друг за другом. подробнее

Показать сообщение отдельно
azaron
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
02.04.2011, 12:57     наследование
Задача :
Базовый класс:
class Shape2D
{
public:
Shape2D();
virtual ~ Shape2D();
virtual float Area( )= 0;
virtual float Perimeter() = 0;
virtual void PrintMessage();
};
Shape2D() – конструктор Базового класса.
~ Shape2D() – деструктор базового класса.
Area() – возвращает значение площади фигуры.
Perimeter() – возвращает значение периметру фигуры.
PrintMessage() – выводит сообщение о типе фигуры.

Производные классы Triangle и Rectangle
Определить необходимые для производных классов параметры и переопределить необходимые функции.

вот что я написал:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//shape.h
#include <math.h>
#include <iostream>
using namespace std;
 
class Shape2D  
{   
public:
    Shape2D()
    {}
    virtual ~ Shape2D()
    {}
    virtual float Area()=0;
    virtual float Perimeter()=0;
    virtual void PrintMessage();
};
 
class Triangle : public Shape2D
{
public:
    Triangle(const Triangle& trngl);
    float Triangle::Area (float a=3, float b=4, float c=5);
    float Triangle::Perimeter(float a=3, float b=4, float c=5);
    virtual void Triangle::PrintMessage();
    virtual ~ Triangle () {}
};
 
class Rectangle : public Shape2D
{
public :
    Rectangle(const Rectangle& rct);
    float   Rectangle::Area( float a=4, float b=5);
    float Rectangle::Perimetr( float a=4, float b=5);
    virtual void Rectangle::PrintMessage();  
  virtual~Rectangle() {}
};
 
//shape.cpp
 
#include "Shape.h"
Triangle::Triangle(const Triangle& trngl)
{
        *this = trngl ;
}
float Triangle::Area ( float a, float b, float c)
    {
        float p=(a+b+c)/2;
        float S=sqrt(p*(p-a)*(p-b)*(p-c));
        return S;
    }
    float Triangle::Perimeter(float a, float b, float c)
    {
        float P=a+b+c;
        return P;
    }
     void Triangle::PrintMessage()
    {
        cout<<"Triangle \n"<<"Area:\n"<<&Triangle::Area<<endl<<"Perimetr:\n"<<&Triangle::Perimeter<<endl;
    }
 
 
 
     Rectangle::Rectangle(const Rectangle& rct)
{
    *this = rct ;
}
     float  Rectangle::Area(float a,float b)
  {
        float S=a*b;
        return S;
  }
  float Rectangle::Perimetr( float a, float b)
  {
      float P=2*(a+b);
      return P;
  }
   void Rectangle::PrintMessage()
  {
 cout<<"Rectangle\n"<<"Area:\n"<<&Rectangle::Area<<endl<<"Perimetr:\n"<<&Rectangle::Perimetr<<endl;
  }
 
//main.cpp
 
#include <iostream>
#include <math.h>
#include <conio.h>
#include "Shape.h"
using namespace std;
 
int main ()
{
    Triangle trngl1(4,5,6);
    Triangle.Area();
}
я понимаю что проблема в меин файле, но не знаю, как описать визов абстрактного класса. но может проблема глубже, я не могу разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru