powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / доступ из нестатического метода к статическому члену класса.
7 сообщений из 7, страница 1 из 1
доступ из нестатического метода к статическому члену класса.
    #38597026
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Как можно обратиться из нестатического метода класса к статическому члену?

Вот мой метод:

Код: plaintext
1.
2.
3.
4.
5.
6.
void MainWindow::paintEvent(QPaintEvent* pe) {
    QPainter p(this);
    for (int i = 0; i < vPoints.size(); i++){
        vPoints[i].paint(p);
    }
}



Это переопределение виртуального метода класса QWidget. Он рисует точки, хранящиеся в vPoints


А вот объявление члена vPoints

Код: plaintext
1.
2.
3.
private:
    Ui::MainWindow *ui;
    static QVector<MyPoint> vPoints;



vPoints я делаю static, потому что этот член будет изменять потоковая функция.

Спасибо.
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597047
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusvPoints я делаю static, потому что этот член будет изменять потоковая
функция.
Обычно такие члены делают volatile, а не static... А не атомарные как у тебя - ещё и
обносят защитой от одновременного доступа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597064
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

авторОбычно такие члены делают volatile,

если так написать, то этот член не будет доступен из статической потоковой функции.
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusесли так написать, то этот член не будет доступен из статической потоковой
функции.
Будет, если ты передашь ей ссылку на него.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597092
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

вот моя потоковая функция:

Код: plaintext
1.
2.
3.
DWORD WINAPI MainWindow::ThreadFunction(LPVOID myData){
      vPoints.append(newPoint);
}



То есть я её делал, методом моего главного класса MAinWindow.

и эта функция добавляет точку к вектору vPoint.

тут как надо как-то получать vPoints& получается..?
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597130
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusтут как надо как-то получать vPoints& получается..?
Для этого у функции и существует параметр myData. Передавай туда свой vPoints.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
доступ из нестатического метода к статическому члену класса.
    #38597160
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Спасибо за помощь!

Я сделал так:

объявил в хедере в классе MainWindow:

Код: plaintext
1.
static QVector<MyPoint> vPoints;



и определил этот член вне класса в .cpp

Код: plaintext
1.
 QVector<MyPoint> MainWindow::vPoints;



так работает.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / доступ из нестатического метода к статическому члену класса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]