为什么方法不起作用?

时间:2017-06-14 17:28:06

标签: c++ oop methods

我正在编程计算器,当我选择第一个选项时,程序停止。我不能输入任何数字。 我需要在代码中更改以使方法有效吗? 我不知道自己要做什么。

main.cpp中:

#pragma once
#ifndef Calculator_h
#define Calculator_h

class Calculator {
private:
    float a, b;
public:
    float add();
    float sub();
    float mul();
    float div();
};

#endif

Calculator.h:

enter code here
func minPathSum(grid [][]int) int {
    var dp[m+1][n+1] int
    dp[0][0] = grid[0][0]

    //for column initialization
    for i := 0; i <= m; i++ {
        dp[i][0] = dp[i-1][0] + grid[i][0]
    }

    //for row initialization
    for j := 0; j <= n; j++ {
        dp[0][j] = dp[0][j-1] + grid[0][j]
    }
    for i := 0; i <= m; i++ {
        for j := 0; j <= n; j++ {
            dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + grid[i][j]
        }
    }
    return dp[m][n]
}

1 个答案:

答案 0 :(得分:5)

您正在阅读选择int:int choose;所以您必须将其视为一个:

if (choose == 1)
    k1.add();
else if (choose == 2)
    k1.sub();
else if (choose == 3)
    k1.mul();
else if (choose == 4)
    k1.div();

按要求说明:

if (choose == '1')

从语法上讲,这没有错,因为简单的C ++是casting implicitly char&#39; 1&#39;到它的ASCII code,这是一个值为49的int。

您确实在执行以下操作:if (choose == 49)而不是if (choose == 1)