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

Синтакисис статик поля - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.04.2011, 12:00     Синтакисис статик поля #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
class A
{
 potected:
  int i;
  A (int i);
  const static A a;
};
A::A (int i)
{
 this->i=i;
}
A (10) A:: a; // Компилу эта строка не нравится. Почему? И как правильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.04.2011, 12:02     Синтакисис статик поля #2
Цитата Сообщение от taras atavin Посмотреть сообщение
A (10) A:: a;
Что Вы этим хотели сказать?
Возможно:
C++
1
A A:: a(10);
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
20.04.2011, 12:02     Синтакисис статик поля #3
Потому что она состоит из какого-то бреда.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.04.2011, 12:06     Синтакисис статик поля #4
Только const надо будет убрать
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.04.2011, 12:06  [ТС]     Синтакисис статик поля #5
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Что Вы этим хотели сказать?
Возможно:
C++
1
A A:: a(10);
результат тот же.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.04.2011, 12:07     Синтакисис статик поля #6
taras atavin, см. сообщение http://www.cyberforum.ru/cpp/thread2...ml#post1570114.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.04.2011, 12:12  [ТС]     Синтакисис статик поля #7
Без const получилось. Но как всё же сделать этот статик константой?
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
20.04.2011, 12:25     Синтакисис статик поля #8
const A A::a(10);
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.04.2011, 12:35     Синтакисис статик поля #9
taras atavin, объясните чего Вы хотите добиться в итоге. А то Ваш код, мягко говоря, выглядит ужасающе.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.04.2011, 05:43  [ТС]     Синтакисис статик поля #10
Я хочу добиться, чтоб класс имел неизменяемое статик поле, причём типом этого поля должен быть сам этот класс и его надо создать private конструктором с параметром.

Добавлено через 2 минуты
Причём, я возомнил себя велосипедных дел подмастерьем и клепаю свою реализацию классов размерных величин и единиц ищзмерения.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
21.04.2011, 06:52     Синтакисис статик поля #11
Примерно так...
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
 
class Foo
{
private:
    Foo(int foo1, int foo2, int foo3):
    m_foo1(foo1),
    m_foo2(foo2),
    m_foo3(foo3)
    {
    }
 
public:
    Foo(int foo1, int foo2):
    m_foo1(foo1),
    m_foo2(foo2),
    m_foo3(0)
    {
    }
 
    int get_foo1() const
    {
        return m_foo1;
    }
 
    int get_foo2() const
    {
        return m_foo2;
    }
 
    int get_foo3() const
    {
        return m_foo3;
    }
 
private:
    int m_foo1;
    int m_foo2;
 
    int m_foo3;
 
public:
    static const Foo zero;
};
 
const Foo Foo::zero = Foo(0, 0, 10);
 
int main()
{
    Foo bar(1, 2);
 
    std::cout << bar.get_foo1() << "\t" << bar.get_foo2() << "\t" << bar.get_foo3() << std::endl;
    std::cout << Foo::zero.get_foo1() << "\t" << Foo::zero.get_foo2() << "\t" << Foo::zero.get_foo3() << std::endl;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2011, 07:10     Синтакисис статик поля
Еще ссылки по теме:

Реализация статик структуры в хедер файле C++
Инициализация статик класс мемберов C++
Как удалить статик по клику на него? C++ WinAPI

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.04.2011, 07:10  [ТС]     Синтакисис статик поля #12
Спасибо, получилсоь.
Yandex
Объявления
21.04.2011, 07:10     Синтакисис статик поля
Ответ Создать тему
Опции темы

Текущее время: 17:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru