使用指针时实现此类函数的正确方法是什么。我理解指针的基础知识,但它让人感到困惑。我正在尝试创建一个添加分数的函数。
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;
}
答案 0 :(得分:2)
如果你想将一个指针传入一个函数(如果它是一个成员并不重要),那就用这个方式创建函数签名:
self.shared_list