gpt4 book ai didi

c++ - 有没有办法将现有函数用作类的一部分?如果是,如何?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:12 24 4
gpt4 key购买 nike

我有一个函数想在不同的类中使用。这可能吗?

例子:

int getNumber()
{
// do something here that will use some values like:
int number = num * pi;
return number;
}

class Human
{
int num;
// other member
int getNumber(); // same as above
}

class Robot
{
int num;
// other member
int getNumber(); // same as above
}

getNumber() 函数可以很短,如 return num; 或很长,具体取决于函数内部发生的计算。

getNumber() 中的 num 值是 Humannum 成员机器人类。虽然,这些类(class)没有亲子关系,也没有 friend 关系。

最佳答案

这当然很容易。尽管在 C++ 中没有用于委托(delegate)的甜美语法(遗憾的是,这带来了如此多的继承滥用......)。

1。自由函数方式

int transformNumber(int num) { return num * pi; }

class Human {
public:
int getNumber() const { return transformNumber(num); }

private:
int num;
};

2。组成方式

struct NumberThing {
int num;

int getNumber() { return num * pi; }
};

class Human {
public:
int getNumber() { thing.getNumber(); }

private:
NumberThing thing;
};

选择你最喜欢的。

关于c++ - 有没有办法将现有函数用作类的一部分?如果是,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18393536/

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