Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187

Объявление статического объекта

15.03.2013, 22:28. Показов 1400. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объясните пожалуйста как правильно объявить статический объект. У меня в кейсе создаётся объект,но мне он нужен и за пределами кейса,как его сделать статическим?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2013, 22:28
Ответы с готовыми решениями:

Отличие динамического от статического объекта
Вопрос, в универе проходим динамические объекты(классы, структуры). И я вот не пойму... В чем разница динамического от статического...

Инициализация константного статического объекта - члена класса
Здравствуйте, у меня возникла проблема с инициализацией статического объекта, который является членом класса. Этот объект должен быть...

Как вызвать прегруженный const метод для статического объекта
class A { public: A() { cout << "A()" << endl; } ~A() { cout << "~A()" << endl; } void foo() { cout << "foo 1_1"; } ...

12
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
15.03.2013, 22:35
Что вы подразумеваете под "кейсом"?

Так вам надо?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A {
 public:
  A(int, int) {}
};
 
class B {
 public:
  static const A SIMPLE;
};
 
const A SIMPLE(1, 1);
 
int main(int argc, char **argv) {
  A a = B::SIMPLE;
  return 0;
}
0
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187
15.03.2013, 22:36  [ТС]
условный оператор switch
0
 Аватар для Kins
60 / 59 / 7
Регистрация: 03.02.2013
Сообщений: 167
15.03.2013, 22:36
static A a;//статический объект класса А
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
15.03.2013, 22:37
Подробнее о задаче тогда. С примером кода, пусть даже не компилирующимся.
0
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187
15.03.2013, 22:49  [ТС]
Я оформляю пользовательский интерфейс и после первого оператора switch мне нужен ещё один,в котором мне понадобиться один из созданных объектов в первом операторе switch. Вот этот икс мне нужен статическим, чтобы его и дальше использовать
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
cout<<"Выберите прогрессию:\n   1) Арифметическая\n   2) Геометрическая\n";
    int k=getch();
    
    
    switch (k)
    {
        case '1':
            {
            cout<<"Вы выбрали арифметическую прогрессию\n  - Установите значение 1 члена прогрессии ";
            TArProgression x;
            x.SetFirst(k);
            cout<<"  - Установите шаг прогрессии ";
            x.SetDelta(k);
            
        
            break;
            }
        case '2':
            {
            cout<<"Вы выбрали геометрическую прогрессию\n Установите значение 1 члена прогрессии ";
            TGeoProgression x;
            x.SetFirst(k);
            cout<<"Установите шаг прогрессии ";
            x.SetDelta(k);
            break;
            }
    } 
cout<<"Выберете следующую операцию:\n 1) Получить шаг прогрессии \n 2) Получить член прогрессии с номером n \n 3) Получить сумму первых n членов";
0
 Аватар для Kins
60 / 59 / 7
Регистрация: 03.02.2013
Сообщений: 167
15.03.2013, 23:27
Цитата Сообщение от SKS-65 Посмотреть сообщение
x.SetDelta(k);
дык напишите static "имя класса" x; потипу static A x; при объявлении объекта класса.
0
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187
15.03.2013, 23:46  [ТС]
но он его почему то всё равно не хочет в дальнейшем использовать,я пишу static TArProgression x; далее ниже он мне говорить что идентификатор не определён
0
 Аватар для Kins
60 / 59 / 7
Регистрация: 03.02.2013
Сообщений: 167
16.03.2013, 00:02
почему не определен? определи его не в свитче, а заранее
0
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187
16.03.2013, 00:06  [ТС]
там он у меня ругается на то что имя одинаковое,а мне надо чтобы у обоих объектов этих классов было одно имя
0
 Аватар для Kins
60 / 59 / 7
Регистрация: 03.02.2013
Сообщений: 167
16.03.2013, 00:11
Цитата Сообщение от SKS-65 Посмотреть сообщение
там он у меня ругается на то что имя одинаковое,а мне надо чтобы у обоих объектов этих классов было одно имя
такого поидее не может быть -тоесть одинаковых имен объектов, хотя хз, не сталкивался с таким
0
6 / 6 / 4
Регистрация: 18.10.2011
Сообщений: 187
16.03.2013, 00:18  [ТС]
ну в свитче то у меня создаётся только один,там ведь или то или это,а здесь оба
0
 Аватар для Venzo
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
16.03.2013, 01:16
а что если с наследованием поиграться? Создать базовый класс Прогрессия, от него отнаследовать арифметическую и геометрическую прогрессию.
Объвить указатель на базовый класс перед switch, а в case ветвях этому указателю присвоить нужный объект.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Progression *x;
switch(...)
{
    case '1':
        ...
        x = new TArProgression();
        x->SetFirst(k);
        ...
        break;
    case '2':
        ...
        x = new TGeoProgression();
        x->SetFirst(k);
        ...
        break;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2013, 01:16
Помогаю со студенческими работами здесь

Классы объявление объекта
Народ вопрос очень тупой. Учу классы в C++ и ни как не могу понять, как можно создать объект через указатель?

Объявление объекта класса
Доброе время суток! Дело вот в чем: В конструкторе c параметрами класса Piramida, мне нужно создать объект класса M_Ygolnik с...

Объявление объекта вложенного класса
Есть структура наподобие: template&lt;class T&gt; class A{ //...... public: class B { int dd; int mm; int yy; ...

Объявление объекта внутри функции
Здраствуйте. У меня такой вопрос: есть класс class A { public: A(): p1(p2),p2(new int) { }

Объявление в классе объекта другого класса
какая-то фигня получается, допустим есть 2 класса - class1 и class2, в хедерах class1.h подключён class2.h, а в class2.h подключён...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru