Экземпляр своего класса как поле C++?

Доброго времени суток,
Я долго программировал на C#, и решил попробовать плюсы. И они сломали мне голову, таким казалось бы простым понятием как поле класса. В C# поле = другой класс = другая структура = базовая структура(byte,int,char...). Но в C++ при написании
class MyClass1
{
   public:
   MyClass2 mc2;
   ..{пустой конструктор}
};
class MyClass2
{
   public:
   int A,B,C;
   ..{пустой конструктор}
};

Компилятор ругается на синтаксическую ошибку, что надо поставить ";" перед типом класса. Но при использовании стандартных типов или самого себя, всё нормально. Может нельзя хранить классы в одном файле?, я уже неделю понять не могу в чём дело!!!

простите забыл написать здесь про точку с запятой, в проекте написана.
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Просто описание класса заканчивайте точкой с запятой. Сразу после }. Ну и ещё ссылки вперёд запрещены. Либо описывайте MyClass2 перед MyClass1, либо просто объявите его:
class MyClass2;
class MyClass1
{
   public:
   MyClass2 mc2;
   ..{пустой конструктор}
};

class MyClass2
{
   public:
   int A,B,C;
   ..{пустой конструктор}
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы