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

Как инициализровать константное поле класса в конструкторе? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена фигур на шахматной доске http://www.cyberforum.ru/cpp-beginners/thread635016.html
задача. расставить случайным образом четырех коней на шахматной доске (два белых и два черных). вывести отдельно список полей под боем каждого из коней, список полей под боем нескольких (указать каких именно), и полей не под боем ни одного из четырех. Добавлено через 9 часов 7 минут слабо? это, конечно, не диагональ симметричной матрицы вывести...
C++ Генератор слов Здравствуйте! Хочу написать программу по генерированию слов из набора букв, но даже не представляю с чего начать... Может кто-нибудь посоветовать с чего начать? Спасибо большое... Опишу немного программу: Пользователь вводит в строку буквы НО?А и нажимает кнопку, программа должна подобрать все возможные слова и вывести. Знаком вопроса заменяются неизвестные буквы... http://www.cyberforum.ru/cpp-beginners/thread635012.html
Очередь с приоритетом C++
/* ПОМОГИТЕ пож. в задаче не могу реализовать статистику печати, т.е. вывода на экран времени когда кто вошёл в очередь и не получается отсортировать по приориттам клиентов, др. словами у меня сортируется только приоритет а клиент нет, у клиента меняется только приоритет*/ /* 3. Разработать приложение, имитирующее очередь печати принтера. Должны быть клиенты, посылающие запросы на принтер, у...
C++ Класс матриц с арифметическими операциями С++
Я создаю класс матриц с операциями сложения, умножения, вычитания матриц, умножения на константу, транспонирования на С++. Почему-то не работает умножение матриц. Помогите пожалуйста. Вот код. #include<iostream> using namespace std; class Matrix{ friend Matrix operator * (Matrix, Matrix); public: void SetMatrix();
C++ Директива препроцессора #if http://www.cyberforum.ru/cpp-beginners/thread634990.html
Вобще при коспиляции файла взятого с офф сайта микрософт endian.h Получаю вот такие ошибки 17|error: operator '==' has no left operand 95|error: operator '==' has no left operand 131|error: operator '!=' has no left operand соответствено на строки #if (BIT_ORDER == BYTE_ORDER) // 17 #if BYTE_ORDER==BIG_ENDIAN // 95 #if (BYTE_ORDER != DEVICE_ORDER) // 131 Почему они возникают? Обе...
C++ Класс: создать класс "Person" 1,2 #include <iostream> #include <string> class Person { Person() : name("Alex"), address("Texas") {} private: std::string name; подробнее

Показать сообщение отдельно
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
09.08.2012, 02:39  [ТС]     Как инициализровать константное поле класса в конструкторе?
Ну класс в общем рассчитан только на строго определенный набор картинок, которые в разных системах могут быть разные, но строго определенного разрешения, и загружаются они только один раз. Ну пусть будет, как ValeryS сказал, в таком случае можно и скины делать
В идеале хотелось бы что-то вроде этого
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <imagelib>
class A
{
    A()
    {
       imagelib img("blabla.png");
       wImg = img.width();
       hImg = img.height();
 
    }
    const int wImg, hImg;
};
Добавлено через 5 минут
Придмал ещё создать вспомогательную константную струтуру, которая делает вышеназванное один раз. Только как-то некрасиво это

Добавлено через 2 минуты
А константы можно инициализировать и во время выполнения, это я точно помню. Только в классах с ними запары
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru