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

Инкапсуляция строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ При помощи цикла показать на экран календарь текущего месяца http://www.cyberforum.ru/cpp-beginners/thread1091861.html
При помощи цикла показать на экран календарь текущего месяца.
C++ Нажатие клавиши без ожидания Enter Как в c++ сделать так, что бы при нажатии какой-то клавиши, программа(консоль) сразу выполняла действие , а не ждала пока введут этот символ. Например if (c == "d") cout << "-"; только что бы прога не ждала нажатие enter, и не писала на экране букву d. Хочу типо консоль-змейки написать ??? http://www.cyberforum.ru/cpp-beginners/thread1091860.html
C++ Переопредения нуля для структуры (класса)
Пишу клас дробей вида (sqrt(f)+n)/d. Нужно проверять равна ли такая дробь нулю, тоесть (f==0&&n==0) но так писать каждый раз не удобно, и нет прямого доступа к полям переменных (frac.f, frac.n, frac.d). Можно как-то переопределить ноль для класса, или оператор "==", "!=" чтоб можно было записать так frac x; ........ if (x==0) ....
При помощи цикла показать на экран календарь текущего месяца. C++
При помощи цикла показать на экран календарь текущего месяца.
C++ Написать программу, которая выводит на экран полый прямоугольник, ширина и высота фигуры задаются пользователем с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread1091832.html
Написать программу, которая выводит на экран полый прямоугольник, ширина и высота фигуры задаются пользователем с клавиатуры.
C++ Помогите обнаружить ошибку в программе! Помогите пожалуйста ! Вот код, не компилится, вылетает ошибка ! #include <iostream> //позволяет программе выводить данные на экран using std::cout; using std::endl; class GradeBook; { public: подробнее

Показать сообщение отдельно
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
08.02.2014, 09:19     Инкапсуляция строк
Цитата Сообщение от valval Посмотреть сообщение
Просто хотелось бы определить значения внутри класса
Как-нибудь так?
C++
1
2
3
4
5
6
#pragma once
 
struct Colors
{
    static constexpr const char* const red = "red color";
};
Но тогда в заголовочном файле будет весь этот мусор, а выше уже было сказано, что этого не хочется. Иначе говоря, "внутри класса" - это где?

Цитата Сообщение от valval Посмотреть сообщение
иначе получаем ошибку линковки.
Это все еще лучше, чем ошибка времени выполнения.

Цитата Сообщение от valval Посмотреть сообщение
Что думаете?
Не вижу выигрыша по сравнению с классом.
Более того, появляется возмодность пользователю самому создавать такие объекты, поскольку конструктор открытый. А нужно ли предоставлять такую возможность? По смыслу кажется, что нет. Т.е. если используем такой подход, то нужно конструктор сделать приватным. Чтобы создать-таки глобальный объект, нужен дружественный фабричный метод, который тоже надо скрыть от пользователя.
Вот и получается, что для решения такой простой задачи куча оверхеда.
 
Текущее время: 00:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru