继承基类时遇到问题
Having troubles inheriting base class
当我继承基类时,它告诉我没有这样的类
这是增强的。
class enhanced: public changeDispenser // <--------where error is occuring
{
public:
void changeStatus();
// Function: Lets the user know how much of each coin is in the machine
enhanced(int);
// Constructor
// Sets the Dollar amount to what the User wants
void changeLoad(int);
// Function: Loads what change the user requests into the Coin Machine
int dispenseChange(int);
// Function: Takes the users amount of cents requests and dispenses it to the user
private:
int dollar;
};
这是增强的.cpp:
#include "enhanced.h"
#include <iostream>
using namespace std;
enhanced::enhanced(int dol)
{
dollar = dol;
}
void enhanced::changeStatus()
{
cout << dollar << " dollars, ";
changeDispenser::changeStatus();
}
void enhanced::changeLoad(int d)
{
dollar = dollar + d;
//changeDispenser::changeLoad;
}
这是changeDispenser.h:
class changeDispenser
{
public:
void changeStatus();
// Function: Lets the user know how much of each coin is in the machine
changeDispenser(int, int, int, int);
// Constructor
// Sets the Quarters, Dimes, Nickels, and Pennies to what the User wants
void changeLoad(int, int, int, int);
// Function: Loads what change the user requests into the Coin Machine
int dispenseChange(int);
// Function: Takes the users amount of cents requests and dispenses it to the user
private:
int quarter;
int dime;
int nickel;
int penny;
};
我没有包括驱动程序文件或 changeDispenser imp 文件,但在驱动程序中,这些都包含在
#include "changeDispenser.h"
#include "enhanced.h"
首先,您需要将类changeDispenser
的标头放在单独的头文件中,并将其包含在派生类标头中。
类changeDispenser
没有默认的非参数构造函数,因此需要在派生类中显式初始化它。 大致如下:
enhanced::enhanced(int dol) : changeDispenser(0, 0, 0, 0)
{
dollar = dol;
}
或者,您可以为构造函数参数定义默认值,出于样式原因,这不太可取。
changeDispenser(int i=0, int j=0, int k=0, int l=0);
如果您发布的源代码正确显示了构成这组类的三个文件(enhanced.h,enhanced.cpp(?),changeDispencer.h),那么您应该添加
#include "changeDispenser.h"
到"enhanced.h"的顶部,以始终确保当代码的某些部分包含enhanced
的定义(来自"enhanced.h")时,changeDispenser
的定义可用。若要对类进行子类,基类的完整定义必须始终可用。
相关文章:
- 编译包含字符串的代码时遇到问题
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 在 for 循环中查找问题时遇到困难
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 从其他类访问类时遇到问题
- 打印问题.我在数组中打印值时遇到一些问题
- 使用静态成员声明类时遇到问题
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 我在使用C++文件时遇到了一些问题
- 在将字符串放入字符串向量时遇到问题?
- 余数除法和不允许除以零 (c++) 时遇到问题
- 我在C++中使用 getline() 函数时遇到问题
- C++线程安全:如果只有一个线程可以写入非原子变量,但多个线程从中读取. 会遇到问题吗?
- 在我的四叉树实现中遇到问题
- 在 c++ 中循环遍历数组时遇到问题
- 我遇到了黑客排名中的问题"TWO STRINGS"的三个测试用例的分段错误。原因是什么?
- 使用 MinGW 在 Windows 上构建 GLEW 时遇到问题
- 编译 Cilk Plus 程序时遇到问题