Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 关于调用继承函数_C++_Class_Inheritance_Methods - Fatal编程技术网

C++ 关于调用继承函数

C++ 关于调用继承函数,c++,class,inheritance,methods,C++,Class,Inheritance,Methods,我有一个叫做account的基类。三个类从account继承。这些课程包括储蓄、支票和信用卡。在我的main()中,我试图创建一个切换菜单,这样当用户选择1时,它将调用makeDeposit(),这是帐户的一部分,但通过储蓄来实现。这样,当用户选择3时,它将调用makeDeposit(),但通过检查来实现。这是我写的代码。我已声明对象保存sa;当我调用makeDeposit时,我试图将其写为sa.makeDeposit()。代码如下: int main () { saving sa;

我有一个叫做account的基类。三个类从account继承。这些课程包括储蓄、支票和信用卡。在我的main()中,我试图创建一个切换菜单,这样当用户选择1时,它将调用makeDeposit(),这是帐户的一部分,但通过储蓄来实现。这样,当用户选择3时,它将调用makeDeposit(),但通过检查来实现。这是我写的代码。我已声明对象保存sa;当我调用makeDeposit时,我试图将其写为sa.makeDeposit()。代码如下:

int main ()
{
    saving sa;
    creditCard cca;
    checking ca;

    string n;
    int option;
    int exit = 1;
    cout << endl;
    cout << "Checking Balance:" << " " << "          " << "Savings balance:" << " " << "          " << "Credit Card balance:" << " " << endl;
    cout << endl;
    cout << " (1) Savings Deposit " << endl;
    cout << " (2) Savings withdrawel " << endl;
    cout << " (3) Checking Deposit " << endl;
    cout << " (4) Write A Check " << endl;
    cout << " (5) Credit Card Payment " << endl;
    cout << " (6) Make A Charge " << endl;
    cout << " (7) Display Savings " << endl;
    cout << " (8) Display Checkings " << endl;
    cout << " (9) Display Credit Card " << endl;
    cout << " (0) Exit " << endl;
    cin >> option;

    do{

    switch ( option )

    {
        case 1 : double amtD;
                 cout << " Please enter how much you would like to deposit into savings " << endl;
                 cin >> amtD;
                 double sa.makeDeposit(double amtD);
                 break;
        case 2 : double makeWithdrawel();
                 break;
        case 3 : double makeDeposit();
                 break;
        case 4 : 
                 break;
        case 5 : 
                 break;
        case 6 : double makeWithdrawel();
                 break;
        case 7 : int display();
                 break;
        case 8 : int display();
                 break;
        case 9 : int display();
                 break;
        case 0 : exit = 0;
                 break;
        default : exit = 0;
                 cout << " ERROR ";
    }
    }
    while(exit==1);
    return 0;
}
int main()
{
拯救sa;
信用卡;
检查ca;
字符串n;
int选项;
int exit=1;

cout您错误地调用了函数。您不需要包含返回值和参数的类型

case 10: int function(); break;
实际上是声明一个本地函数-而不是像您期望的那样调用
函数

您的switch语句应该如下所示。请注意对函数的调用中缺少类型

switch ( option )
{
case 1 : double amtD;
    cout << " Please enter how much you would like to deposit into savings " << endl;
    cin >> amtD;
    sa.makeDeposit(amtD);
    break;
case 2 : makeWithdrawel();
    break;
case 3 : makeDeposit();
    break;
case 4 : 
    break;
case 5 : 
    break;
case 6 : makeWithdrawel();
    break;
case 7 : display();
    break;
case 8 : display();
    break;
case 9 : display();
    break;
case 0 : exit = 0;
    break;
default : exit = 0;
    cout << " ERROR ";
}
开关(选件)
{
案例1:双重amtD;
cout-amtD;
股份有限公司(amtD);
打破
案例2:makeReturnel();
打破
案例3:makeDeposit();
打破
案例4:
打破
案例5:
打破
案例6:makeReturnel();
打破
案例7:显示();
打破
案例8:显示();
打破
案例9:显示();
打破
案例0:退出=0;
打破
默认值:exit=0;

cout下面的代码看起来有点奇怪

cin >> amtD;
double sa.makeDeposit(double amtD);
break;
您正试图使用double关键字声明一个变量,但我认为您需要做以下两件事之一:

  • 只需在不使用makeDeposit()返回的double的情况下进行存款。在这种情况下,只需这样写一行(使用返回的double是可选的):

    股份有限公司(amtD)

  • 您希望进行存款,但也要保存一些退货信息。然后您可能会执行类似的操作(并在以后使用新变量)

    double justMadeDeposit=sa.makeDeposit(amtD)


  • 这是一些猜测。也许您根本不希望makeDeposit()函数返回任何内容,然后您可以将其声明为void

    您遇到的具体问题是什么/您没有得到预期输出的示例输入(以及您实际得到的结果)“事实上,这根本无法编译。@CaptainObvlious:哦,现在我明白你的意思了。我会解决它的。谢谢你,显然船长。工作得很好。”。
    switch ( option )
    {
    case 1 : double amtD;
        cout << " Please enter how much you would like to deposit into savings " << endl;
        cin >> amtD;
        sa.makeDeposit(amtD);
        break;
    case 2 : makeWithdrawel();
        break;
    case 3 : makeDeposit();
        break;
    case 4 : 
        break;
    case 5 : 
        break;
    case 6 : makeWithdrawel();
        break;
    case 7 : display();
        break;
    case 8 : display();
        break;
    case 9 : display();
        break;
    case 0 : exit = 0;
        break;
    default : exit = 0;
        cout << " ERROR ";
    }
    
    cin >> amtD;
    double sa.makeDeposit(double amtD);
    break;