All pastes #365104 Raw Edit

toto.cpp

public cpp v1 · immutable
#365104 ·published 2007-02-20 17:47 UTC
rendered paste body
#ifndef __NAMEDVECTOR_HPP__#define __NAMEDVECTOR_HPP__#include <string>#include <vector>using namespace std;template <class T> class NamedVector {public:	NamedVector();	NamedVector(const string & name);		void setName(const string& name);	const string& getName() const;		void add(const T & data);	void del(int index);	const T& at(int index) const;	void replace(int i, const T & data);	int size() const;	protected:	string m_name;	vector<T> m_vector;};#endifusing namespace std;template <class T> NamedVector<T>::NamedVector() { setName(string("")); }template <class T> NamedVector<T>::NamedVector(const string & name) { setName(name); }template <class T> void NamedVector<T>::setName(const string& name) { m_name = name; }template <class T> const string& NamedVector<T>::getName() const { return m_name; }template <class T> void NamedVector<T>::add(const T & data) { m_vector.push_back(data); }template <class T> void NamedVector<T>::del(int index) { m_vector.remove(index); }template <class T> const T& NamedVector<T>::at(int index) const { return m_vector.at(index); }template <class T> void NamedVector<T>::replace(int i, const T & data) { m_vector.replace(i, data); }template <class T> int NamedVector<T>::size() const { return m_vector.size(); }#ifndef __ROAD_HPP__#define __ROAD_HPP__#include <string>using namespace std;class Road : public NamedVector<float> {public:	Road(const string & name);	Road();};#endifusing namespace std;Road::Road() : NamedVector<float>() {};Road::Road(const string & name) : NamedVector<float>(name) {}using namespace std;int main(void) {	Road *r = new Road();	r->add(20.0);	delete r;		return 0;}