如何在 C++ 中访问另一个类中的矢量对象
how to access vector object in another class in c++
我是 c++ 的新手。我创建了两个类.一个类(比如 A)会将结构数据推送到向量中,而另一个类(比如 B)将从向量中弹出数据。
如何将向量的引用从A类传递给B类,以便B类可以指向相同的向量对象以弹出数据,以进行一些操作。
谁能帮我解决这个问题
到目前为止,我的努力是,A.h 文件:
struct strctOfA {
int x;
int y;
int z;
};
class A {
public:
A();
private:
std::vector<strctOfA> t2;
};
A.cpp文件:
A::A() {
strctOfA player;
player.x=1;
player.y=2;
player.z=3;
t2.push_back(player)
B b;
b.functionOfB(&t2);
}
B.h 文件
class B {
public:
B();
functionOfB(&t2);
};
乙.cpp:
B::functionOfB(A &t) {
t2.pop_front();
}
使用朋友类,这是一个在另一个类中被声明为朋友(带有关键字 friend)的类。它可以访问其他类的私有和受保护成员。允许特定类访问另一个类的私有成员非常有用。例:
A.H
typedef struct strctOfA {
int x;
int y;
int z;
}positions;
class A {
public:
A();
friend class B;
private:
strctOfA player;
std::vector<positions> t2;
};
答.cpp
A::A() {
player.x=1;
player.y=2;
player.z=3;
t2.push_back(player);
}
B.H
class B {
public:
B();
void functionOfB(A &x);
};
乙.cpp
B::B() {
}
void B::functionOfB(A &x) {
x.t2.pop_back();
}
主.cpp
int main() {
A instanceOfA;
B *instanceOfB = new B();
instanceOfB->functionOfB(instanceOfA);
return 0;
}
相关文章:
- 按基类对象访问派生类资源时出错
- 使用基类对象访问派生的仅类方法
- 从 const 对象访问非 const 方法
- 如何在C++中使用类对象访问指针数据成员
- 如何通过不同的指针使用类的对象访问结构?(链表)(C++)
- 使用二进制搜索树中的迭代器对象访问左侧节点
- 为什么引用类型在使用临时对象访问时是左值
- 从父对象 c++ 访问子方法
- 无法通过指针或对象 c++ 访问受保护的成员
- 为什么可以从类中的对象访问类的私有变量
- 对类似"struct {double, int}"对象使用reinterpret_cast进行对象访问
- 通过无符号 char 别名进行对象访问,加载和存储时会发生什么?
- 从对象访问结构枚举
- 如何全局创建对象并使用该对象访问全局范围内的公共成员函数
- 在C 中,可以从第三个共享对象访问其他两个不同共享对象
- 如何在C 中提供一个可呼叫的对象访问,例如lambda
- C 向量对象访问
- C++是否可以从同级第二个派生对象访问第一个派生对象的受保护基础数据成员?
- 如何从类内实例化的对象访问私有变量
- 多态性:通过类文本或对象访问静态成员