namespace Stat { template <typename DataType1, typename DataType2, typename DataType3> class IntervalClass { public : DataType1 LowerBound; DataType2 UpperBound; DataType3 Frequency; IntervalClass() { } IntervalClass(DataType1 _LowerBound, DataType2 _UpperBound, DataType3 _Frequency) { LowerBound = _LowerBound; UpperBound = _UpperBound; Frequency = _Frequency; } }; }
In main() I want to insert the above class object into a vector. For doing this I am following this method :
#include "statistics.hpp" #include <iostream> using namespace std; int main() { vector<Stat::IntervalClass<double, double, int> > container; container.push_back(Stat :: IntervalClass<double, double, int> (12.5, 17.5, 2)); Stat :: IntervalClass<double, double, int> Object(17.5, 22.5, 22); container.push_back(Object); return 0; }
Which one is better :
container.push_back(Stat :: IntervalClass<double, double, int> (12.5, 17.5, 2));
Or
Stat :: IntervalClass<double, double, int> Object(17.5, 22.5, 22); container.push_back(Object);
If I have a function in a namespace, how can I define it? This way?
namespace ex { void fun(); } void ex :: fun() { }
If I have a function in a class in a namespace, how can I define it? This way?
namespace ex { class cl { void fun(); }; } void ex :: cl :: fun() { }