diff options
Diffstat (limited to 'constructor-constexpr-test.cpp')
-rw-r--r-- | constructor-constexpr-test.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/constructor-constexpr-test.cpp b/constructor-constexpr-test.cpp new file mode 100644 index 0000000..ee2a06e --- /dev/null +++ b/constructor-constexpr-test.cpp @@ -0,0 +1,40 @@ +#include <iostream> + +/* + * + * + * + * + */ + +class Debug { +public: + constexpr Debug(bool b = true): hw(b), io(b), other(b) { } + constexpr Debug(bool h, bool i, bool o): + hw(h), io(i), other(o) { } + + constexpr bool any() { return hw || io || other; } + void set_io(bool b) { io = b; } + void set_hw(bool b) { hw = b; } + void set_other(bool b) { hw = b; } + void printDbg() { std::cout << hw << "\n" << io << "\n" << other << std::endl; } +private: + bool hw; + // hardware errors other than IO errors + bool io; + // IO errors + bool other; // other errors +}; + +int main () { + + /* + From page 299-300, i just needed to confirm what the code is doing. + */ + Debug d1; + Debug d2(true, true, false); + d1.printDbg(); + std::cout << "------" << std::endl; + d2.printDbg(); + return 0; +} |