Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.88
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
#1

Статический метод и объекты - C++

17.05.2012, 14:51. Просмотров 4668. Ответов 3
Метки нет (Все метки)

Есть класс А с полями, методами и один статический метод.
Как мне через этот статический метод обратиться сразу ко всем объектам этого класса, а точнее к Method1()?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A
{
public:
    int i;
    void Method1(){};
    void Method2(){};
    static void Method3(){
        //как тут вызвать Method1() ???
    };
}
int main(){
    A a1, a2,a3;
    list<A> my_list ;
    my_list.push_back(a1);
    my_list.push_back(a2);
    my_list.push_back(a3);
 
    //как вызвать Method3()
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Статический метод и объекты (C++):

Статический метод - C++
Пытаюсь создать класс в котором будет статический метод. А при вызове этого метода выдаёт ошибку: Использование имени типа не...

Статический элемент и метод класса - C++
Доброго времени суток, разбираюсь со статическим элементом и методом класса. накидал небольшую програмку, но Visual Studio 2010 ее не...

Как объявить статический метод класса? - C++
выдает ошибку на 11 16 19 строку((((((( #include &lt;iostream&gt; using namespace std; class Sop { private: short int kol; ...

Реализовать статический метод уничтожения объекта - C++
//Создайте класс с закрытыми конструкторами и деструктором. Реализуйте //методы для создания и уничтожения объектов класса. Напишите...

Как правильно объявить статический метод - C++
например class A { private: static void method(); // объявление }; // как правильно объявить реализацию?

Как передать нестатическое поле в статический метод класса? - C++
есть статическая фукция static LRESULT CALLBACK WndProc ( HWND,UINT,WPARAM,LPARAM); в ней нужно использоавть поля класса, вопрос -...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
17.05.2012, 15:05 #2
Бессмыслица получилась. ))

C++
1
2
3
4
5
6
7
8
9
10
...
Method3(list<A>& my_list)
{ 
    цикл 
    (*it).Method1();
}
 
int main()
...
A::Method3(my_list);
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
17.05.2012, 15:15  [ТС] #3
Так вы имели в виду?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class A
{
public:
    A();
    void Method1(){
        cout<<"Method1()"<<endl;
    };
    void Method2(){};
    static void Method3(list<A>& my_list){
    list<A>::iterator it;
    for ( it=my_list.begin() ; it != my_list.end(); it++ )
        (*it).Method1();
    };
}
int main(){
    A a1, a2,a3;    
    list<A> my_list ;
    
 
    my_list.push_back(a1);
    my_list.push_back(a2);
    my_list.push_back(a3);
    A::Method3(my_list);
    return 0;
}
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.05.2012, 15:18 #4
Цитата Сообщение от Only_HED Посмотреть сообщение
static void Method3(){ //как тут вызвать Method1() ???
Никак. Статические методы могут работать только со статическими членами.


Цитата Сообщение от Only_HED Посмотреть сообщение
my_list.push_back(a3); //как вызвать Method3()
C++
1
2
A::Method3();
a1.Method3();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 15:18
Привет! Вот еще темы с ответами:

метод-доступа, класс, объекты - C++
из книги С++ за 21 день Джесса Либерти #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; class Cat { ...

Указатель на массив указателей на объекты, передать в метод объекта - C++
Здравствуйте! Нужно решить задачу, есть такой класс. class MyClsDisk { public: void...

Статический метод как точка входа в поток - как избавиться - C++
Привет всем.Вопрос такой: использую потоки в своей программе,они создаются и уничтожаются в классе, и в классе так же находится...

Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже --> - C++
Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.05.2012, 15:18
Ответ Создать тему
Опции темы

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