0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|||||||||||
1 | |||||||||||
Объявление класса Point05.04.2014, 16:40. Показов 2744. Ответов 38
Метки нет (Все метки)
Объявил класс Point в заголовочном класса для хранения значений координат x,y а далее класс Rectanagle
и вот в классе Rectanagle каждая точка определяет координаты на плоскости линий и используется для создания объекта Rectanagle но при объявлении в нем переменной тип int - требует точку с запятой:
Код
В строке int GetTop() const { return itsTop; } Код на C++
0
|
05.04.2014, 16:40 | |
Ответы с готовыми решениями:
38
Объявление объекта класса fstream в качестве статической компоненты другого класса Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. Объявление объекта одного класса в описании другого класса Объявление дружественного класса внутри класса |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
05.04.2014, 17:09 | 2 | |||||
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|
05.04.2014, 17:58 [ТС] | 3 |
А что не так с деструктором-? Конструктор принимает четыре параметра а деструктор по умолчанию и что за код-?
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
05.04.2014, 18:13 | 4 |
zero-11, после объявления деструктора пропущена точка с запятой либо тело.
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|||||||||||
07.04.2014, 11:42 [ТС] | 5 | ||||||||||
Я проверил весь код - не вижу ошибок:
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
07.04.2014, 12:04 | 6 |
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
||||||||||||||||||||||||||
07.04.2014, 12:06 | 7 | |||||||||||||||||||||||||
Сообщение было отмечено zero-11 как решение
Решение
Добавить точку с запятой:
Весь
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
||||||
07.04.2014, 14:17 [ТС] | 8 | |||||
Все понятно - разобрался. Спасибо.
Добавлено через 1 час 4 минуты Только еще одна проблема - подключил файл заголовка, к самому исходному коду Rectangle.cpp но не хочет компилировать. Rectangle.cpp:
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
07.04.2014, 14:19 | 9 |
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
||||||
07.04.2014, 14:30 [ТС] | 10 | |||||
Да, выдает:
1>------ Построение начато: проект: Rectangle, Конфигурация: Debug Win32 ------ 1> Rectangle.cpp
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
||||||
07.04.2014, 14:40 | 11 | |||||
zero-11, ну а где тела конструктора и деструктора? Раскомментируйте их в коде, который я писал чуть выше (и точки с запятой удалите после каждого).
Добавлено через 666 секунд Хотя к черту. Вот: код
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|
07.04.2014, 14:43 [ТС] | 12 |
Но функция GetX - функция доступа к переменной x - int GetX - определена и поэтому он не должен ссылаться на невозможность получить доступ к классу Point - функция доступа int GetX() имеет встроенное определение int GetX() const { return itsX } и является функцией доступа класса Point.
Или же дело в деструкторе: Код
1>Rectangle.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Rectangle::~Rectangle(void)" (??1Rectangle@@QAE@XZ) в функции _main
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
07.04.2014, 14:50 | 13 |
Продолжая отвлеченный разговор, можно наблюдать интересный факт, как студия наглядно обзывает функции:
Код
??1Rectangle@@QAE@XZ
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|||||||||||
07.04.2014, 14:52 [ТС] | 14 | ||||||||||
Все равно:
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
07.04.2014, 14:57 | 15 |
Нет. Мне не все равно. Или скопируйте полностью мой код или прислушайтесь к замечанию в скобочках:
в четвертой и в одиннадцатой строке уберите точку с запятой.
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|||||||||||
07.04.2014, 15:14 [ТС] | 16 | ||||||||||
Убрал:
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
07.04.2014, 15:18 | 17 |
zero-11, в классе и нет таких полей. В вашем случае у полей префикс - its.
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
||||||
07.04.2014, 15:23 | 18 | |||||
Не по теме: Хотел найти картинку с буддой, но не нашел. zero-11, перепишите деструктор вот так:
0
|
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
|
|
07.04.2014, 15:26 [ТС] | 19 |
Уже пробовал - ни в какую!
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
07.04.2014, 15:28 | 20 |
0
|
07.04.2014, 15:28 | |
07.04.2014, 15:28 | |
Помогаю со студенческими работами здесь
20
Шаблон класса Point Предварительное объявление класса Объявление класса Patient Объявление класса с шаблоном Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |