在我的任务中,我需要从一个公共函数(set(int,int))调用一个私有函数(简化)。当我尝试编译时,我收到一个错误,说重新定义集合。我不知道我做错了什么,或错误的含义。很感谢任何形式的帮助。这里是我有:使用公共函数调用私有函数
//Fraction.h
struct Fraction{
private:
int numerator;
int denonminator;
void simplify();
public:
void set(int n, int d){void simplify();};
void display() const;
};
//Fraction.cpp
#include <iostream>
using namespace std;
#include "Fraction.h"
void Fraction::set(int n, int d){
numerator = n;
denonminator = d;
simplify();
}
void Fraction::simplify(){
int i;
for (i = denonminator * numerator; i > 1; i--){
if(denonminator % i == 0 && numerator % i == 0){
numerator = numerator/i;
denonminator = denonminator/i;
}
}
}
void Fraction::display() const{
cout << numerator << "/" << denonminator;
}
谢谢,现在一切都合情合理! – thG 2015-01-31 21:33:56