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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Chup
Сообщений: n/a
#1

Конструктор класса - C++

12.03.2011, 00:34. Просмотров 1746. Ответов 3
Метки нет (Все метки)

Имеется:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class block{
public:
block(int, int);
private:
int CoordX;
int CoordY;
};
block::block(int X, int Y){
CoordX = X;
CoordY = Y;
}
 
class cube{
public:
cube();
private:
class block TopLeft(2, 3);  //строка вызывающая ошибку
};
На сколько понимаю, всё вполне правильно: объявляем класс cube, элементом которого будет объект класса block. Но как только пытаюсь всё это дело скомпилировать, выдаёт ошибку:
error C2059: синтаксическая ошибка: константа.
Компилятор Microsoft Visual Studio 2008.
Никак не могу понять в чём дело, прошу вашей помощи. Заранее спасибо
P.S. Пытался использовать оператор глобального разрешения, при определении конструктора класса block, но всёравно не работает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2011, 00:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструктор класса (C++):

Конструктор класса не видит конструктор по умолчанию другого класса - C++
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

Конструктор производного класса требует конструктор предка - C++
Выдаёт вот такую вот ошибку: no matching function for call to 'Cube::Cube()' class Cube { protected: int magInt; bool...

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами - C++
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка - C++
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка. Всем огромное спасибо за помощь! |

В конструктор класса передать объект этого класса - C++
Вопрос на засыпку :) Как в конструктор класса передать объект этого класса? Т.е. class A { public: A(const char* s){} ...

Конструктор класса с инициализацией другого класса - C++
error C2064: term does not evaluate to a function taking 6 arguments Так же при наведении на SStria(...); Пишет: call of an object of...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.03.2011, 00:39 #2
C++
1
2
3
4
5
6
[quote=Chup;1441815]class cube{
public:
cube() : TopLeft(2,3) {}
private:
 block TopLeft; 
};
0
Chup
Сообщений: n/a
12.03.2011, 00:53 #3
Цитата Сообщение от alex_x_x Посмотреть сообщение
C++
1
2
3
4
5
6
class cube{
public:
cube() : TopLeft(2,3) {}
private:
 block TopLeft; 
};
Спасибо, работает. Но мне не понятно, что мы делаем таким образом? И если необходимо объявить несколько элементов класса block в классе cube, необходимо писать такую конструкцию в секции public для каждого?
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.03.2011, 00:59 #4
Chup, если мы объявляем членом класса объект, то его конструктор нужно вызывать в конструкторе класса
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2011, 00:59
Привет! Вот еще темы с ответами:

Конструктор класса - C++
Необходимо для данного класса class sequence { public: typedef double value_type; typedef std::size_t size_type; static...

Конструктор класса - C++
задание: Класс кольцо. В классе определить поля с координатами центра кольца, большим и малыми радиусами, автовычисляемые поля с площадью и...

Конструктор класса - C++
Я не могу понять вот эту запись class A{}; class B : public A {

Конструктор класса - C++
class A{}; class B : public A { B(); }; B::B() : A() /// ДЛЯ ЧЕГО ТУТ :A() И ЧТО ЭТО ОЗНАЧАЕТ??? { }


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.03.2011, 00:59
Ответ Создать тему
Опции темы

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