如何让getter返回另一个对象的指针
How do I have a getter that returns a pointer of another object?
我在网上找到了以下内容来获得另一个类的对象:
Class A{
.........
B b;
.........
const B& getB()const{
return b;
}
};
下面是一个指向另一类对象的指针:
Class A{
.........
B* b;
void setB(B *x) { b=x; }
B *getB() const { return b; }
.........
};
我有以下情况:
Class A{
.........
B** b;
A(int i){ b = new B*[i] ;}
.........
};
我想从A返回B*,这样new a(4)->getB()
将返回b[4]
。我是否执行以下操作:
Class A{
.........
B** b;
A(int i){ b = new B*[i] ;}
.........
const B&* getB() const{ return b; }
........
};
我的意图是从我在另一个类的构造函数中初始化的对象指针数组中返回一个对象。
const B** getB() const{ return b; }
这就是你想要的?
与其使用原始指针,不如考虑使用一些容器(std::vector?)或智能指针。如果没有,请提供一些关于您问题的更好信息。
编辑
我想从另一个类的对象指针数组中返回一个对象
好的,所以
const B* getB(size_t index) const{ return b[index]; }
这将返回对指针到常量-B的引用,该指针到常量B以前存储为数组的第五个元素。
const B*& getB() const{ return b[4]; }
注意你的用法。new a(4)->getB()
将调用未定义的行为,因为数组中只有四个元素。
相关文章:
- 如何将 c++ 类包装到 python 中,以便我可以使用 pybind11 访问其成员的公共方法(成员是一个对象指针)
- 如何将指针从unique_ptr传递到另一个对象并管理寿命
- 一个对象的两个指针.删除了一个指针,对象仍然存在
- 指针阵列在一个对象数组中函数
- 在类中创建指针到另一个对象
- 在一个作用域中推送五个对象指针,然后检查对象的布尔值是否为 false,会给出错误
- 指向另一个对象的指针
- c++ 序列化包含字符串和指向另一个对象的指针的对象
- 通过另一个对象C++的字段中的指针访问对象
- 将指针插件更改为另一个对象
- 为什么将对象从一个智能指针移至另一个原因崩溃
- 包含另一个对象指针向量的对象
- C++:通过引用传递对象数组(指向一个?的指针)
- 销毁和重新创建一个对象会使指向该对象的所有指针无效吗
- C++如果我有一个对象指针,是在堆栈或堆上分配的方法变量
- 如何从一个对象的传递指针中读取变量
- 将QQuickItem指针的子类指定给另一个C++对象
- 继承一个C结构并将对象指针传递给C函数-这是安全的
- 当我们把指针从一个对象复制到同一类的另一个对象时,我们到底想要什么
- 我有一个对象数组,我想发出一个包含这些对象中的一个的信号。但信号不能是指针