矢量对象在另一个类中初始化矢量对象并访问这些矢量对象

问题描述 投票:0回答:1

我正在学习c ++初学者水平。让我们举个例子。我想知道如何访问另一个类中的vector,以及vector成员的getter和setter用法。

class A{
    int id;
public :
    A(){
    }
    A(int id){
        id=id;
    }
    int get(){
        return id;
    }
    void set(int id1){
        id=id1;
    }

};
class B{
    vector <A> bb1;
}; 

如何为向量bb1创建构造函数,setter,getter。

c++ stl
1个回答
0
投票

类似于int,但请注意不要复制太多:

class B {
private:
  vector<A> bb1;
public:
  B(vector<A> v) : bb1{std::move(v)} {}
  auto& get_vec() noexcept { return bb1; }
  auto const& get_vec() const noexcept { return bb1; }
  void set_vec(vector<A> v) { bb1 = std::move(v); }
};

重点:

  • noexcept(在此情况下)大致意味着该函数不会抛出。 Further reading
  • const(在此情况下)表示此功能不会更改对象的状态。 Further reading
  • std::move粗略地说,将一个对象的资源“移动”到另一个对象。通常会为您保存一份副本。当然,std::move比这复杂得多。 Further reading
© www.soinside.com 2019 - 2024. All rights reserved.