static функции
От: Аноним  
Дата: 28.10.04 13:40
Оценка:
Скажите, плз, static функции в C++ (объявленные как члены класса) можно вызывать как в C#?

Будет ли корректной такая запись:
#include <iostream>

using namespace std;

class Test1
{
private:
  Test1() {}
  ~Test1() {}

public:
  static void Foo() {cout << "Foo called" << endl;}
};

int main(void)
{
  Test1.Foo();
  return 0;
}


Исправлено форматирование. Пожалуйста, не забывайте пользоваться тегами [c] ... [/c], [code] ... [/code] и т.п. для выделения фрагментов кода. -- ПК.
Re: static функции
От: korzhik Россия  
Дата: 28.10.04 13:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>#include <iostream>

А>using namespace std;
А>class Test1
А>{
А>private:
А> Test1() {}
А> ~Test1() {}
А>public:
А> static void Foo() {cout << "Foo called" << endl;}

А>};


А>int main(void)

А>{
А> Test1::Foo(); // надо так
А> return 0;
А>}
Re: static функции
От: Ed.ward Россия  
Дата: 28.10.04 13:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Скажите, плз, static функции в C++ (объявленные как члены класса) можно вызывать как в C#?


А>Будет ли корректной такая запись:


А>#include <iostream>


А>using namespace std;


А>class Test1

А>{
А>private:
А> Test1() {}
А> ~Test1() {}

А>public:

А> static void Foo() {cout << "Foo called" << endl;}

А>};


А>int main(void)

А>{

А> Test1.Foo();


А> return 0;

А>}

Test1::Foo();
вот так вроде

Ed.ward
Re[2]: static функции
От: Аноним  
Дата: 28.10.04 13:45
Оценка:
Здравствуйте, Ed.ward, Вы писали:

EW>Здравствуйте, Аноним, Вы писали:


А>>Скажите, плз, static функции в C++ (объявленные как члены класса) можно вызывать как в C#?


А>>Будет ли корректной такая запись:


А>>#include <iostream>


А>>using namespace std;


А>>class Test1

А>>{
А>>private:
А>> Test1() {}
А>> ~Test1() {}

А>>public:

А>> static void Foo() {cout << "Foo called" << endl;}

А>>};


А>>int main(void)

А>>{

А>> Test1.Foo();


А>> return 0;

А>>}

EW>Test1::Foo();

EW>вот так вроде

EW>Ed.ward



Всем спасибо! Работает!
Re[2]: static функции
От: ScorpZ Украина  
Дата: 28.10.04 14:57
Оценка:
Здравствуйте, korzhik, Вы писали:

K>Здравствуйте, Аноним, Вы писали:


А>>#include <iostream>

А>>using namespace std;
А>>class Test1
А>>{
А>>private:
А>> Test1() {}
А>> ~Test1() {}
А>>public:
А>> static void Foo() {cout << "Foo called" << endl;}

А>>};


А>>int main(void)

А>>{
А>> Test1::Foo(); // надо так
А>> return 0;
А>>}

Но можно и так , через объект класса

int main(void)
{
Test1 Test;
Test.Foo(); // надо так
return 0;
}
Re[3]: static функции
От: Nuald Россия http://nuald.blogspot.com
Дата: 29.10.04 08:06
Оценка:
Здравствуйте, ScorpZ, Вы писали:

SZ>Но можно и так , через объект класса


SZ>int main(void)

SZ>{
SZ> Test1 Test;
SZ> Test.Foo(); // надо так
SZ> return 0;
SZ>}

Или даже так:
int main(void)
{
  Test1().Foo();
  return 0;
}

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.