gpt4 book ai didi

c++ - 在组合关系中,成员可以调用父方法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:09:55 25 4
gpt4 key购买 nike

例如,如果主类是这样的:

class parent{
public:
void doSomethingParent(int x);
member foo;
}

成员类是这个

class member{
public:
void doSomethingMember(int x);
}

doSomethingMember 可以调用 doSomethingParent 吗?

一种技术是对成员中的父类 类的const 引用,但还有更优雅的方法吗?

最佳答案

以我拙见,你应该改变你的设计并使用继承。而不是使用 "has-a"设计您应该将设计更改为"is-a" .对于您想完成的事情,使用继承会更直接:

struct Base {
virtual ~Base() {}
virtual void doSomethingBase(int x) { std::cout << x << std::endl; }
};

struct Derived : public Base {
void doSomethingDerived(int x) { Base::doSomethingBase(x); }
};

Live Demo

关于c++ - 在组合关系中,成员可以调用父方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462801/

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