我在网上找到以下内容来获取另一个类的对象:
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] ;}
.........
};
我有以下情况:
new a(4)->getB()
我想从A.So返回B *,b[4]
将返回 Class A{
.........
B** b;
A(int i){ b = new B*[i] ;}
.........
const B&* getB() const{ return b; }
........
};
。我是否会执行以下操作:
public class Student
{
public Student() { }
public int StudentId { get; set; }
public string StudentName { get; set; }
public virtual StudentAddress Address { get; set; }
}
public class StudentAddress
{
public int StudentId { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public int Zipcode { get; set; }
public string State { get; set; }
public string Country { get; set; }
public virtual Student Student { get; set; }
}
我的目的是从一个对象指针数组中返回一个对象,我在另一个类的构造函数中初始化它。
答案 0 :(得分:1)
const B** getB() const{ return b; }
这是你想要的吗?
可以考虑使用一些容器(std :: vector?)或智能指针,而不是与原始指针作斗争。如果不是,请提供一些有关您问题的更好信息。
修改
我想从另一个类
的对象指针数组中返回一个对象
好的
const B* getB(size_t index) const{ return b[index]; }
答案 1 :(得分:0)
这将返回对以前存储为数组第五个元素的指向const-B的引用。
const B*& getB() const{ return b[4]; }
请注意您的使用方法。 new a(4)->getB()
将调用未定义的行为,因为数组中只有四个元素。