首页 > 解决方案 > 如何为向量创建 getter 和 setter?

问题描述

Vector2D hpp 文件

#ifndef Vector2D_hpp
#define Vector2D_hpp

#include <iostream>
#include "Point2D.hpp"

namespace GeoBox{

class Vector2D{

      Point2D m_point1{};
      Point2D m_point2{};

public:
      Vector2D() = default;
      Vector2D(Point2D &point1, Point2D &point2)
{
    m_point1 = point1;
    m_point2 = point2;
}
void setVector(Point2D &point1, Point2D &point2);

};

Vector2D.cpp 文件

#include "Vector2D.hpp"
#include "Point2D.hpp"


void GeoBox::Vector2D::setVector(GeoBox::Point2D &point1, GeoBox::Point2D &point2) {
    Vector2D(point1, point2);

}

主文件

int main(int argc, const char * argv[]) {

GeoBox::Point2D point1{3.0, 1.0};
GeoBox::Point2D point2{2.0, 3.0};
GeoBox::Vector2D vect1{point1, point2};
}

我正在尝试创建一个由 2 个点组成的向量。我怎样才能创建他们的吸气剂和定居者?我想我创建了 setter 函数,但我不确定。注意:GeoBox 我的文件名

标签: c++getter-setter

解决方案


要创建向量,您应该将其初始化为模板类型。

对于 setter 函数,您必须实现可以接收两个迭代器的 erase() 函数,一个指向要删除的值,如果要删除指向初始值和最后一个值的元素范围,则需要两个迭代器。erase() 函数已经是 c++11 中实现的函数,但可以开发。


推荐阅读