.h
cpp
C++:
#ifndef ALGORITHM_H
#define ALGORITHM_H
#include <vector>
class Algorithm {
private:
std::vector<void*> algParts; // Using void* to avoid details about Mutatable
public:
// Constructors
Algorithm(const std::vector<void*>& parts);
Algorithm(const void* parts[], size_t count);
// Getters
const std::vector<void*>& getAlgParts() const;
size_t getSize() const;
};
#endif
C++:
#include "Algorithm.h"
// Constructor with vector
Algorithm::Algorithm(const std::vector<void*>& parts)
: algParts(parts) {}
// Constructor with array
Algorithm::Algorithm(const void* parts[], size_t count)
: algParts(parts, parts + count) {}
// Getter for algParts
const std::vector<void*>& Algorithm::getAlgParts() const {
return algParts;
}
// Getter for size
size_t Algorithm::getSize() const {
return algParts.size();
}