online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
//Yes derive Column from an abstract base class, say ColumnItf and then make a vector of unique pointers to that.Don't use raw pointers and new/delete that will lead to memory leaks. #include <iostream> #include <string> #include <vector> #include <memory> struct ColumnItf { virtual void visit() const = 0; }; template<typename type_t> class Column : public ColumnItf { public: explicit Column(const type_t& data) : m_data{ data } { } void visit() const override { std::cout << m_data << "\n"; } private: type_t m_data; }; int main() { std::vector<std::unique_ptr<ColumnItf>> columns; columns.emplace_back(std::make_unique<Column<int>>(1)); columns.emplace_back(std::make_unique<Column<std::string>>("Hello")); for (const auto& itf : columns) { itf->visit(); } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue