| | #include <Eigen/Core> |
| | #include <iostream> |
| |
|
| | class MyVectorType : public Eigen::VectorXd |
| | { |
| | public: |
| | MyVectorType(void):Eigen::VectorXd() {} |
| |
|
| | |
| | template<typename OtherDerived> |
| | MyVectorType(const Eigen::MatrixBase<OtherDerived>& other) |
| | : Eigen::VectorXd(other) |
| | { } |
| |
|
| | |
| | template<typename OtherDerived> |
| | MyVectorType& operator=(const Eigen::MatrixBase <OtherDerived>& other) |
| | { |
| | this->Eigen::VectorXd::operator=(other); |
| | return *this; |
| | } |
| | }; |
| |
|
| | int main() |
| | { |
| | MyVectorType v = MyVectorType::Ones(4); |
| | v(2) += 10; |
| | v = 2 * v; |
| | std::cout << v.transpose() << std::endl; |
| | } |
| |
|