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

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

Войти
Регистрация
Восстановить пароль
 
BagmutA
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 10
#1

Вопрос о static методе - C++

14.02.2012, 14:27. Просмотров 502. Ответов 6
Метки нет (Все метки)

Имеется объект класса A.
Имеется класс B в котором объявлен статический метод M.
Из объект класса A вызывается метод M.

Можно ли получить в методе M указатьль на объект класа из которого производился вызов этого метода?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2012, 14:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос о static методе (C++):

Нужно чтобы введённый студент в методе in вывелся на экран как в методе out - C++
#include<conio.h> #include<stdio.h> #include<iostream.h> #include<windows.h> #include<cstring.h> // это просто для русских...

Static - C++
zagolovok.hpp static int a; основной модуль #include <iostream> #include "zagolovok.hpp" int main

Опять static - C++
Есть два файла. ////////////////////////////////////// //main.cpp class SomeClass { public: SomeClass(REC*...

Static переменные - C++
Написал небольшую программу, подключил к проекту name.h файл. В нем описание переменных static int a, b; Почему их значения можно...

static и const - C++
static void A(); Что дает этот статик? Что он вообще дает? int A() const; Что дает конст в данном случае? static int...

Static Library - C++
Привет всем! Нужно проанализировать (понять, что она делает) статичную библиотеку, собранную под Linux (.a), используя Windows. Как это...

6
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
14.02.2012, 14:59 #2
не передавая явно - нет. если я, конечно, правильно понял в чем вопрос.
0
BagmutA
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 10
14.02.2012, 15:13  [ТС] #3
плохо
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
14.02.2012, 23:39 #4
BagmutA, а вы опишите задачу, может коллективный разум поможет найти альтернативное решение.
0
BagmutA
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 10
15.02.2012, 12:24  [ТС] #5
Пишу приложение на Qt.
Как известно Qt позволяет копировать единичные файлы. Поэтому пишу свой статический метод который позволяет копировать файлы и папки с необходимыми проверками. В случае если файл уже существует или произошла какая-то ошибка, показывается:

C++
1
StandardButton QMessageBox::warning ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )
Он требует QWidget * parent, чтобы знать в контексте какого окна показыватся. А вот передавать указатель в мой метод на текущий объект (наследник от QWidget) не прикольно. Вот и возник вопрос может ли статический метод узнать кем он был вызван?
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
15.02.2012, 13:59 #6
ну, очевидно, что если ты не хочешь передавать в метод адрес виджета, то нужно вырезать из него все обращения к этому виджету. почему бы не сделать этот статический метод возвращающим нечто вроде enum copyResult {UNKNOWN, SUCCESS, ERROR....}, а в методе, где это копирование вызывалось, результат анализировать и уже там решать, какое окошко с ошибкой создать.
либо отказаться от статического метода в пользу слота. тогда передача указателя на виджет будет скрыта в теле слота и получаться из метода QObject::sender().
0
BagmutA
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 10
15.02.2012, 14:12  [ТС] #7
Цитата Сообщение от Paporotnik Посмотреть сообщение
ну, очевидно, что если ты не хочешь передавать в метод адрес виджета, то нужно вырезать из него все обращения к этому виджету. почему бы не сделать этот статический метод возвращающим нечто вроде enum copyResult {UNKNOWN, SUCCESS, ERROR....}, а в методе, где это копирование вызывалось, результат анализировать и уже там решать, какое окошко с ошибкой создать.
В процессе копирования (нескольких файлов), есть необходимость вывода окна на подтверждение перезаписи файла, пока пользователь не примет решение процесс копирования не может быть закончен.
0
15.02.2012, 14:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2012, 14:12
Привет! Вот еще темы с ответами:

static const - C++
объясните, пожалуйста, вот такую странную конструкцию (накопал в старой проге): после #include идет следующее: static const char...

Static class c++ - C++
Можно ли сделать класс чисто статическим? То есть не прописывать отдельно для каждой переменой, функции static, а одним разом всех ? ...

Private: static - C++
В хедере есть клас point, клас точек, которые должны иметь нумерацию. В поле private у него есть static атрибут free_id, в который...

Назначение static ? - C++
Здравствуйте. Я уже прочитал в двух книгах про статик,читал в википедии,но так и не понимаю для чего он ? Кучи больших текстов и объяснений...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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