gpt4 book ai didi

c++:在另一个类的函数中返回对象

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:51 24 4
gpt4 key购买 nike

我是 C++ 的新手,所以我不知道如何解决我的问题。我将示意性地展示我的问题而不是实际代码,希望这将提供其他用户也可以使用的通用解决方案。

我有:

  • 在 header A.h 中定义的类 A(及其适当的 A.cpp)

  • header B.h 中的类 B(及其适当的 B.cpp)

在这个类 B 中,我有一个函数,它使用 A 的对象 (objA) 作为参数,对其执行一些操作,然后返回该对象。

我应该如何定义该函数,以便 B 类在其函数中识别“类型”objA?是用指针、模板、...完成的吗?

谢谢!罗兰

最佳答案

有变体:

   // 1) by value
// in B.h
#include "A.h"
class B {
public:
A foo(A a);
};
// in B.cpp
A B::foo(A a) { /* a.do_something(); */ return a; }

// 2) by reference
// in B.h
#include "A.h"
class B {
public:
void foo(A& a); // can modify a
void foo(const A& a); // cannot modify a
};
// in B.cpp
void B::foo(A& a) { // a.change_something(); }
void B::foo(const A& a) { // a.get_something(); }

// 3) by pointer
// in B.h
#include "A.h"
class B {
public:
void foo(A* a); // can modify a
void foo(const A* a); // cannot modify a
};
// in B.cpp
void B::foo(A* a) { // a->change_something(); }
void B::foo(const A* a) { // a->get_something(); }

关于c++:在另一个类的函数中返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19753447/

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