gpt4 book ai didi

c++ - 使用公共(public)函数调用私有(private)函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:11:25 25 4
gpt4 key购买 nike

在我的作业中,我需要从公共(public)函数 (set(int,int)) 调用私有(private)函数(简化)。当我尝试编译时,我收到一条错误消息,指出重新定义了 set 。我不确定我做错了什么,或者错误意味着什么。很感谢任何形式的帮助。这是我所拥有的:

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

最佳答案

Fraction::set 实现了两次:您已经在 header 中实现了它 - 并在 .cpp 文件中再次实现了它。

您必须决定一种实现方式。

看看这两个实现的作用,您可能应该将 header 更改为阅读

//...
void set(int n, int d);
//...

关于c++ - 使用公共(public)函数调用私有(private)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com