gpt4 book ai didi

C++ 对类的引用

转载 作者:行者123 更新时间:2023-11-28 06:20:04 24 4
gpt4 key购买 nike

我是 C++ 的新手,我有一个项目,其中一个类以我将在下面提到的形式引用另一个类。我只想了解对类的引用实际上意味着什么。抱歉,我不打算发布我的程序,而只是提供一个示例,因为我想真正理解对类的引用意味着什么,而不是有人展示如何修复我的代码。

假设我有两个类 Class_1 和 Class_2。我需要通过将两个参数传递给 Class_1 的构造函数来从 Class_2 调用 Class_1。

这是 Class_1 构造函数在 Class_1 cpp 文件中的样子

Class_1::Class_1(int nRows, int nCols)
{
m_rows=nRows;
m_cols=nCols;
m_numSnakesDied=0;
display();

}

要求我按如下方式在Class_1头文件中声明Class_2

Class_1& class_1();

如您所见,我需要在 Class_1 调用 Class_2 时从它获取 nRows 和 nCols。问题是我不明白这个 Class_1& class_1();实际上意味着,我不确定如何从 Class_2 的 cpp 文件初始化 Class_1 的构造函数。



抱歉,如果我的解释很糟糕,英语对我来说是第三语言。



谢谢。






最佳答案





你的问题有点不清楚。



你可以使用类似的东西:



Class_1 a; // a is an instance of Class_1
Class_1& b = a; // b is a reference to an instance of Class_1 (a)

所以a和b是完全相同的对象。

如果你需要构造函数的参数:

Class_1 c(2, 3); // c is an instance of Class_1.
// this will initialize c with nRows = 2 and nCols = 3
Class_1& d = c; // d is a reference to an instance of Class_1 (c)

至于您的示例代码:

Class_1& class_1();

这意味着 class_1 是一个返回对 Class_1 实例的引用的函数。所以也许你想实现类似的东西:

Class_2 {
public:
Class_1& class_1() {
return a; // return a reference to an instance of Class_1 (a)
}
private:
Class_1 a; // an instance of Class_1
}

我建议您发布更完整的代码,以便我们提供帮助。否则我们只是在猜测你的问题是什么。

编辑删除引用临时文件的示例,因为这是不允许的。

关于C++ 对类的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29464875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com