gpt4 book ai didi

c++ - 如何正确使用类函数的指针

转载 作者:行者123 更新时间:2023-11-28 02:00:34 25 4
gpt4 key购买 nike

使用指针时,实现此类函数的正确方法是什么。我了解指针的基础知识,但它会让人感到困惑。我正在尝试创建一个添加分数的函数。

f3 =  f1->add(f2);

类(class)中的其他所有内容均正常运行。

#include <iostream>
using namespace std;

//members of a class default to private
class Fraction
{
private:
int numerator;
int denominator;

public:
Fraction();
Fraction(int,int);
~Fraction();
Fraction* add(Fraction &f);
void setFraction(int, int);
int getNumerator();
int getDenominator();
};
Fraction::Fraction()
{
numerator = 0;
denominator = 0;
}
Fraction::Fraction(int num, int den)
{
this->numerator = num;
this ->denominator = den;
}
Fraction::~Fraction()
{
}
void Fraction::setFraction(int num, int den)
{
numerator = num;
denominator = den;
}
int Fraction::getNumerator()
{
return numerator;
}
int Fraction::getDenominator()
{
return denominator;
}
Fraction* Fraction::add(Fraction &f)
{
int num = f.numerator * this->denominator;
num += this->numerator *f.denominator;
int den = this->denominator * f.denominator;
return new Fraction(num,den);
}

int main() {
Fraction* f1 = new Fraction(5,8);
Fraction* f2 = new Fraction(1,8);
cout << f1->getNumerator() << "/" << f1->getDenominator() <<endl;
Fraction* f3 = new Fraction();
f3 = f1->add(f2);
return 0;
}

最佳答案

如果你想将一个指针传递给一个函数(不管它是否是一个成员),就这样创建函数签名:

Fraction* Fraction::add(Fraction* f)
^ pass a pointer in

关于c++ - 如何正确使用类函数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39793571/

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