Научите манипуляциям с объектами класса

Я хочу создать такой хитрый а может и не хитрый код.

Классы ,,golky,, и ,,dysk,, , объекты класса ,,dysk,,-и имеют при себе целое число каждый.

Видимо это число также можно менять методами класса если хочется.

На обьект класса ,,golky,, могут надеваться обьекты класса ,,dysk,, в любом количестве.

Причем лежат они потом на объекте ,,golky,, точно в том порядке, как они были одеты,

каждый следующий диск выше. И снимаются по порядку.

С одного объекта класса ,,golky,, можно снимать объекты класса ,,dysk,, , если они на нем были,

и перекладывать их ( методами класса допустим) на другой объекта класса ,,golky,, !!

Если окажется, что на любом объекте класса ,,golky,, лежат объекты класса ,,dysk,, не по порядку,

то есть объект ,,dysk,, имеющий меньший номер окажется положен сверху на объект, имеющий

больший номер, то нужно детектировать ошибку.

Код, вернее это нисколько не код, я начал писать но это только как бы какой-то план, самый

общий прикид, щита псевдокод.

http://images.vfl.ru/ii/1435002982/08e4e79f/9099248.bmp

class golky
{
protected:



  static int count ( const int  vvod = 0)
    {
        static int  counter = 0;

        return  counter += vvod;
    }

  int n;  //

  dysk:n;  //



  gla *  pgla = new gla dysk[n];  //




public:


 golky(int nn): nn(n) // 
    { 
      for (int i=0; i<n; i++){
      pgla[i].dysk(i+1);
                             }
    }  //


 ~golky() // 
    { delete []dysk; pgla =NULL; }



  dysksnjaty (n){};

  dyskpoklasty (n){};

 void vsepokajemo(){} //

}



class dysk
{ 
protected:

  int n;  //

public:


  dysk(int nn) // 
    { n=nn; }


 ~dysk() // 
    {  }

 void dysk(int nn)   //  
    {  n=nn;  }


  }

Я уже давно хотел написать что-то такое, но все у меня в голове совершенно путается, не хватает.. не хватает в общем.

Дело, еще раз, не в самих Ханойских башнях, а в такой вот свободной работе с объектами, классами, насколько можно их создавать
один в другом, пересылать и всякое тому подобное.
Я плохой знаток плюсов и хочу посмотреть решения именно в смысле обучения и такое.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.