如何在类函数中正确使用指针
How to properly use pointers with class functions
当使用指针时,如何正确地实现这个类函数?我了解指针的基本概念,但还是有些混乱。我要创建一个分数相加的函数。
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;
}
如果你想传递一个指针给一个函数(不管它是不是成员),让函数签名:
Fraction* Fraction::add(Fraction* f)
^ pass a pointer in
相关文章:
- 从类成员函数到类 C 函数指针的转换
- 模板化函数或具有指向基类的指针的函数
- 在将派生类指针类型转换为派生类指针后,从基类指针调用派生类函数
- C++ 指向其他类函数的指针函数
- 返回类函数指针 c++
- 有没有办法在没有虚拟的情况下使用基类指针调用派生类函数
- 在映射中存储模板类函数指针
- 模板类函数指针类型别名
- 如何从包含基类指针的容器中调用派生类函数(基于其类型)?
- 如何从类函数返回指向类作用域数组的指针?
- C++ - 基类函数指针调用的替代方法
- 强制转换为指向私有类函数的指针
- 是否可以使用包含{sub,super}类函数指针的回调表
- 如何在类函数中正确初始化指针
- 函数指针数组,其中包含不同类的类函数
- 指针类函数不打印输出
- 如何从指针调用派生类函数到基类类型 (C++)
- 使用抽象指针调用派生类函数
- 通过指针调用基本虚拟方法从派生类函数
- 通过引用将派生类指针传递给需要基指针的函数