在我的任務中,我需要從一個公共函數(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