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

标签 c++ class pointers

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

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/

相关文章:

c++ - 为什么或在什么情况下,您会在 C++ 中将参数作为引用(或指针)传递给函数?

c++ - 添加到 vector 或从 vector 中删除后,指向 vector 元素的指针是否保留(在 C++ 中)

c - C 中的结构和指针段错误

c++ - 从命令行向 C++ 传递参数

c++ - 每3秒DirectX应用程序 “hiccups”

java - 什么是使用对象作为参数的构造函数?

c++ - 在类中定义数组但大小在构造函数中确定

c++ - Qt:使用 QPainter 渲染的垂直文本的抗锯齿

c++ - libtorrent-rasterbar 和 Visual Studio 2013

Python:同名的常规方法和静态方法