|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|||||||
Классы.Ключевое слово static - выдает ошибку "неразрешенный внешний символ"09.04.2014, 00:39. Показов 18755. Ответов 23
Метки нет (Все метки)
Всем доброго времени суток.
Изучаю С++ по Шпаку и по урокам на сайте Кликните здесь для просмотра всего текста
cppstudio.com
Со всеми темами прорываюсь вперед без особых затруднений, дошел до изучения классов, начали появляться вопросы, вот решил найти себе пристанище для ответов. По первому же запросу в гугле попал сюда =) Ну да ладно...вообщем плохо разобрался со статической переменной static, точней понимаю, что она создаётся один раз, содержит последнее, внесённое в неё значение... а дальше, работа с классами и оператором расширения области действия :: очень запутался... На данный момент вот такая проблема. Visual studio 2013 выдаёт такие ошибки. Мои догадки: -из-за того, что интерфейс и реализация в одном файле... -из-за компилятора, вставляю стандартный код, который был приведён для примера, выдаёт такие же ошибки.
0
|
|||||||
| 09.04.2014, 00:39 | |
|
Ответы с готовыми решениями:
23
Не могу запустить программку компилятор выдаёт ошибку error LNK2019: ссылка на неразрешенный внешний символ
|
|
54 / 53 / 5
Регистрация: 14.08.2012
Сообщений: 252
|
|
| 09.04.2014, 00:47 | |
|
Для статических переменных нужно делать разрешение символа, т.е. написать вне класса:
int AB::a; int AB::b; Т.к. по сути статические переменные не принадлежат классу. Так что ваши догадки пока неверны)
1
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||||||
| 09.04.2014, 00:59 | |||||||
|
garjo_099, А необходимость вынесения определения переменных точно такая же, как необходимость определения объявленных в классе функций. То есть семантически вот эти записи связаны:
1
|
|||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 09.04.2014, 01:11 | |
|
garjo_099, под поля класса, память, при объявлении класса, не выделяется. Память под них выделяется при создании объектов класса, но так как статические переменные класса не принадлежат объектам, то память под них необходимо выделить отдельно (определить эти переменные вне класса).
0
|
|
|
8 / 8 / 2
Регистрация: 21.11.2013
Сообщений: 22
|
|||||||||||
| 09.04.2014, 01:17 | |||||||||||
|
статические классы члены и методы класса относяться к классу в целом, а не к отдельному объекту
статический член класса существует в единственном экземляре, независимо оттого, созданы ли объекты класса и сколько статический метод класса можно вызвать, даже если нет ни одного экземпляра класса ( допустим у тебя в классе дата есть такой метод getCurrentDate но если он не статический то что бы допустим узнать текущию дату тебе нужно создать объект в мейне ну вот такие вещи и делают статикой что бы не создавать объект)
зачем нам нужно объявлять переменные типа дата если мы просто хотим узнать текущую дату
0
|
|||||||||||
|
54 / 53 / 5
Регистрация: 14.08.2012
Сообщений: 252
|
||
| 09.04.2014, 01:59 | ||
|
Статические данные класса по сути - глобальные переменные с видимостью в namespace класса. Статические члены данных не является частью объектов заданного типа класса; они отдельные объекты. В результате объявление статического члена данных не является определением. Элемент данных объявлен в области класса, но определение выполняется в области файла. Как-то так.
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||
| 09.04.2014, 08:24 | |||
|
0
|
|||
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
||||||
| 09.04.2014, 16:36 [ТС] | ||||||
|
переделал код, и он показывает, что переменная в каждом экземпляре класса (при создании большого количества объектов класса) хранит последние внесённые в неё данные.
anonymous_, ага спасибо, вроде немножко разтуманилось. Добавлено через 4 минуты И ещё вопрос. Из-за чего лучше объявлять определение за интерфейсом класса???
0
|
||||||
|
54 / 53 / 5
Регистрация: 14.08.2012
Сообщений: 252
|
||
| 09.04.2014, 16:44 | ||
|
0
|
||
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|
| 09.04.2014, 20:09 [ТС] | |
|
Подскажите алгоритм как реализовать, ввод даты допустим, через точку в формате дд.мм.гггг
Добавлено через 9 минут Через разбор строки наверное будет самый простой способ... Добавлено через 42 минуты а точней преобразовать строку дд.мм.гггг в числа и разбить в структуру или по отдельным переменным без точки.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 09.04.2014, 20:11 | |
|
garjo_099, scanf такое может
0
|
|
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|
| 09.04.2014, 20:33 [ТС] | |
|
от примера не отказался бы =)))
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||||||
| 09.04.2014, 21:12 | |||||||
0
|
|||||||
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
||||||
| 10.04.2014, 01:34 [ТС] | ||||||
|
Написал код, только сильно не пинайте и громко не смейтесь=)) программка чисто для практики, писал код собственными алгоритмами, построенные в моей голове на основе того, что знаю на данный момент, никуда не подглядывая. Вообщем цель перевести строку даты в целочисленные тип данных. Помогите найти ошибки, с функцией, что-то не так и с оператором gets в main функции, не запрашивает повторный ввод, код компилится но выдаёт ошибку.
0
|
||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 10.04.2014, 02:14 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|
| 10.04.2014, 10:54 [ТС] | |
|
0
|
|
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 10.04.2014, 11:00 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|
| 10.04.2014, 11:05 [ТС] | |
|
alsav22, ты вводишь дату, ввёл неправильно, цикл спрашивает ещё будете вводить или нет, если да то уже не срабатывает ввод даты, а опять же к этому месту выбора в цикле, скомпилируй код и просто посмотри
0
|
|
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||
| 10.04.2014, 11:42 | ||||
|
0
|
||||
|
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
|
|
| 10.04.2014, 11:51 [ТС] | |
|
Да. Можно объяснить почему без добавления функции get() не работало. А с функцией, что? не подскажите?
0
|
|
| 10.04.2014, 11:51 | |
|
Помогаю со студенческими работами здесь
20
Классы и методы, error LNK2001: неразрешенный внешний символ Помогите устранить ошибку: ссылка на неразрешенный внешний символ
Компилятор выдает ошибку, LNK2019 ссылка на неразрешенный внешний символ Не могу исправить ошибку средства Link: ссылка на неразрешенный внешний символ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|