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

Рекурсивная функция внутри класса - C++

Восстановить пароль Регистрация
 
Arwres
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 3
23.01.2011, 10:35     Рекурсивная функция внутри класса #1
Доброе утро!
Задание такое: необходимо создать класс - "Звезды". У каждой звезды есть имя, диаметр. А ещё у звёзд есть элементы (планеты), которые вокруг звезд вращаются. У элементов, в свою очередь, тоже есть элементы, которые вокруг них вращаются (у планет спутники), а элементов элементов есть тоже элементы (астероиды, которые вращаются вокруг спутников планет), а у элементов элементов элементов.. ну, в общем, я думаю, суть ясна для создания этого должна быть использована рекурсивная функция
Помогите пожалуйста

внешним видом код должен быть похож на вот этот

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
95
96
97
98
99
100
101
102
103
#include "stdafx.h"
class Photos
{
  protected:
    char *name,*author;
    int year;
  public:
      Photos(){name=0;author=0;year=0;}  //конструктор:
      Photos(char *n, char *a,int y){
          if(y>1826 && y<2100)year=y;else year=0;      //??
      name=new char[strlen(n)+1];
      strcpy(name,n);
      author=new char[strlen(a)+1];
      strcpy(author,a);
      } 
      //деструктор:
      ~Photos(){
          if(name!=0)delete [] name;
          if(author!=0)delete [] author;
      }
      int GetYear(){return year;}
      void SetYear( int y){if(y>1500 && y<2100)year=y;else year=0;}
      char *GetName(){return name;}
      void SetName(char *n){
          if(name!=0)delete [] name;
          name=new char[strlen(n)+1];
      strcpy(name,n);
      }
 
      char *GetAuthor(){return author;}
      void SetAuthor(char *a){
          if(author!=0)delete [] author;
          author=new char[strlen(a)+1];
      strcpy(author,a);
      }
//   virtual void View()=0;
     };
class Landscape:public Photos
{
        char *place;
    public:
        Landscape():Photos(){place=0;}
        Landscape(char *n, char *a,int y,char *p):Photos(n,a,y)
        {
                place=new char[strlen(p)+1];
                strcpy(place,p);
        }
         char *GetPlace(){return place;}
      void SetPlace(char *p){
          if(place!=0)delete [] place;
          place=new char[strlen(p)+1];
      strcpy(place,p);
      }
      void Print();
//destructor
      ~Landscape()
      {
           if(place!=0)delete [] place;
      }
};
class Portrait:public Photos
{
        char *person;
    public:
        Portrait():Photos(){person=0;}
        Portrait(char *n, char *a,int y,char *pr):Photos(n,a,y)
        {
                person=new char[strlen(pr)+1];
                strcpy(person,pr);
        }
         char *GetPerson(){return person;}
      void SetPerson(char *pr){
          if(person!=0)delete [] person;
          person=new char[strlen(pr)+1];
      strcpy(person,pr);
      }
      void Print();
//destructor
      ~Portrait(){
           if(person!=0)delete [] person;
      }
        
};
 
class Macro:public Photos
{       double distance;
    public:
        Macro():Photos(){distance=0;}
        Macro(char *n, char *a,int y,double d):Photos(n,a,y)
        { 
            if(d>0 && d<15)distance=d;
            else d=0;
        }
         double GetDistance(){return distance;}
      double SetDistance(double d)
      {
        if(d>0 && d<15)distance=d;
        else d=0;
      }
      void Print();
      
      
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 10:35     Рекурсивная функция внутри класса
Посмотрите здесь:

Функция внутри класса C++
C++ Рекурсивная функция
Рекурсивная функция С++ C++
Рекурсивная функция C++
C++ delete внутри класса для самого класса
C++ Рекурсивная функция
Функция указатель на класс, определенный внутри шаблонного класса C++
BST дерево. Инициализация класса внутри класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
23.01.2011, 11:30     Рекурсивная функция внутри класса #2
Так а что нужно-то от нас? Ну есть звёзды, вращаются вокруг них планеты, вокруг планет - спутники... Круто. А что нужно сделать-то?
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.01.2011, 13:11     Рекурсивная функция внутри класса #3
Не вижу, как с помощью вышеприведенных классов создавать вращающиеся объекты.

Не по теме:

Цитата Сообщение от Arwres Посмотреть сообщение
внешним видом код должен быть похож на вот этот
Вряд ли кто-то будет за так подстраиваться под ваш "стиль". Придется вам переписывать под себя.

Yandex
Объявления
23.01.2011, 13:11     Рекурсивная функция внутри класса
Ответ Создать тему
Опции темы

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