170 похожих чатов

Добрый день! Хочу создать static поле типа CFont у класса.

В .сpp надо выделить память и инициализировать.
Написала так, но ругается на эти строки:
Класс:: my_font;
Класс:: my_font.CreateFont(ар гументы);

Как правильно писать?

24 ответов

18 просмотров

https://www.tutorialspoint.com/cplusplus/cpp_static_members.htm#:~:text=A%20static%20member%20function%20can%20only%20access%20static%20data%20member,this%20pointer%20of%20the%20class.

Evgenii S
https://www.tutorialspoint.com/cplusplus/cpp_stati...

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Приведите полный код, где эти строки написаны и объявление члена класса.

_-_ Автор вопроса
Alexander "Ternvein" Isaev
Приведите полный код, где эти строки написаны и об...

Я поняла, у меня само поле protected, а не public! Надо просто паблик static функцию для инициализации этого static поля. Спасибо!

_ _
Я поняла, у меня само поле protected, а не public!...

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

ругается мб потому, что static поле работает только со static методами?

_-_ Автор вопроса

Метода не было

Андрей Таусинов
Корректнее, наверное, сказать наоборот)

да, вот я сейчас сижу и думаю не перепутал ли я часом

Stepan Zorin
да, вот я сейчас сижу и думаю не перепутал ли я ча...

Хотя нет, и так и так не то. Статик методы могут только со статик полями работать, в остальном ограничений нет, вроде

Stepan Zorin
да, вот я сейчас сижу и думаю не перепутал ли я ча...

ладно, проехали, она всё равно решила задачу

_-_ Автор вопроса
Stepan Zorin
ладно, проехали, она всё равно решила задачу

Не решила Мой статик метод имеет declaration в cpp и после этого вызываю его. Но ошибка «explicit type is missing», хотя с сигнатурой я не ошиблась

_ _
Не решила Мой статик метод имеет declaration в cpp...

речь, вроде, про поле изначально шла? Если вызываете через точку от имени объекта, то ошибка в этом

_ _
Не решила Мой статик метод имеет declaration в cpp...

такое ощущение, что вы сами не знаете, что хотите сделать х)

_ _
Не решила Мой статик метод имеет declaration в cpp...

Если я правильно понял, вам нужно что то такое (аргументы добавите сами думаю) file.hpp class CFont{}; class MyClass { public: static void create_font(); static CFont* my_font; }; file.cpp: #include "file.hpp" void MyClass::create_font() { // какие то действия my_font = new CFont(значение); } Единственное в итоге не понятно что конкретно вам нужно статическое, поле или метод в итоге. Без контекста непонятно что вам нужно.

_-_ Автор вопроса
Stepan Zorin
Если я правильно понял, вам нужно что то такое (ар...

И поле и метод для инициализации поля CFont. Вызываю этот метод в методе дочернего класса и пока не ругается. А до этого пыталась вызывать просто в cpp этот статик метод

_ _
И поле и метод для инициализации поля CFont. Вызыв...

Вызывать функции можно только из функций.

_-_ Автор вопроса
_ _
И поле и метод для инициализации поля CFont. Вызыв...

Теперь линкер ругается. Может у меня статическая переменная не инициализирована, поэтому? Как инициализировать protected: static CFont f; ? Значение присваиваю в static функции. А выделение памяти?

_ _
Теперь линкер ругается. Может у меня статическая п...

ClassName::f; за пределами объявления класса

_-_ Автор вопроса
Michael
ClassName::f; за пределами объявления класса

Получилось! Только пишу с типом впереди Спасибо большое всем

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

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Карта сайта