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

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

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

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

23.01.2011, 10:35. Просмотров 445. Ответов 2
Метки нет (Все метки)

Доброе утро!
Задание такое: необходимо создать класс - "Звезды". У каждой звезды есть имя, диаметр. А ещё у звёзд есть элементы (планеты), которые вокруг звезд вращаются. У элементов, в свою очередь, тоже есть элементы, которые вокруг них вращаются (у планет спутники), а элементов элементов есть тоже элементы (астероиды, которые вращаются вокруг спутников планет), а у элементов элементов элементов.. ну, в общем, я думаю, суть ясна для создания этого должна быть использована рекурсивная функция
Помогите пожалуйста

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

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();
      
      
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция внутри класса (C++):

Функция внутри класса - C++
Здраствуйте. Очень прошу знающих людей помочь мне. Покажите простой пример - Класс, внутри этого класса функция, которая вычисляет квадрат...

Pthread функция потока внутри класса - C++
Нужно чтобы функция pthread_create принимала на входе функцию-член класса, в котором я вызываю pthread_create собственно. Так сделать не...

Функция указатель на класс, определенный внутри шаблонного класса - C++
Доброго времени суток! Помогите пожалуйста разобрать со следующим кодом: template &lt;class T&gt; class List{ class Node{ public: ...

У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B? - C++
#include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; //Вот главный класс class A{ public: A (){}; class...

Создать объект внутри класса, который может вызывать функцию этого класса - C++
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле демонстрации работы лифта в здании 2 этажа. Сделал класс...

Рекурсивная функция - C++
Здравствуйте. Хочу попросить вас о помощи, так как я только начинаю изучать язык программирования с++ Задание таке: Написать...

2
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.01.2011, 11:30 #2
Так а что нужно-то от нас? Ну есть звёзды, вращаются вокруг них планеты, вокруг планет - спутники... Круто. А что нужно сделать-то?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
23.01.2011, 13:11 #3
Не вижу, как с помощью вышеприведенных классов создавать вращающиеся объекты.

Не по теме:

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

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2011, 13:11
Привет! Вот еще темы с ответами:

Рекурсивная функция! - C++
Разработать рекурсивную функцию, возвращающую значение , для вычисления n-го члена последовательности b1 =5, bn+1=bn/(n2+n+1). Не знаю...

Рекурсивная функция - C++
Задача

Рекурсивная функция y=3x+5 - C++
Здравствуйте! Помогите написать прогу(или если есть готовое решение буду благодарен! Век помнить буду) на c++, которая решает данный...

Рекурсивная функция - C++
Как быть? Мне надо вызывать рекурсивную функцию очень много раз,вплоть до того что вылетает ошибка unhandled exception at ......


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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