如何正确使用带有类函数的指针

时间:2016-09-30 14:13:16

标签: c++ class pointers

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

f3 =  f1->add(f2);

班级中的其他所有内容都正常运行。

#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;
}

1 个答案:

答案 0 :(得分:2)

如果你想将一个指针传入一个函数(如果它是一个成员并不重要),那就用这个方式创建函数签名:

self.shared_list