为什么我一运行,体积和面积都是乱码 ?

为什么我一运行,体积和面积都是乱码 ?
求立方体的面积和体积。
#include
using namespace std;

class Cube
{
public:
//设置长
void setL(int L)
{
int m_L = L;
}
//获取长
int getL()
{
return m_L;
}
//设置宽
void setW(int W)
{
int m_W = W;
}
//获取宽
int getW()
{
return m_W;
}
//设置高
void setH(int H)
{
int m_H = H;
}
//获取高
int getH()
{
return m_H;
}
//获取立方体面积
int calculateS()
{
return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;
}

//获取立方体体积
int calculateV()
{
    return  m_L * m_W * m_H;
}

private:
int m_L;
int m_W;
int m_H;
};
int main()
{
Cube T;//创建立方体的对象,实例化。
T.setL(10);
T.setW (10);
T.setH (10);
cout <<"面积为: " <<T.calculateS()<< endl;
cout << "体积为: " << T.calculateV() << endl;
}#include
using namespace std;

class Cube
{
public:
//设置长
void setL(int L)
{
int m_L = L;
}
//获取长
int getL()
{
return m_L;
}
//设置宽
void setW(int W)
{
int m_W = W;
}
//获取宽
int getW()
{
return m_W;
}
//设置高
void setH(int H)
{
int m_H = H;
}
//获取高
int getH()
{
return m_H;
}
//获取立方体面积
int calculateS()
{
return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;
}

//获取立方体体积
int calculateV()
{
    return  m_L * m_W * m_H;
}

private:
int m_L;
int m_W;
int m_H;
};
int main()
{
Cube T;//创建立方体的对象,实例化。
T.setL(10);
T.setW (10);
T.setH (10);
cout <<"面积为: " <<T.calculateS()<< endl;
cout << "体积为: " << T.calculateV() << endl;
}


#include <iostream>
using namespace std;

class Cube {
public:
    //设置长
    void setL(int L) {
        //int m_L = L;
        this->m_L = L;    // 使用类的使用变量接收赋值
    }
    //获取长
    int getL() {
        return m_L;
    }
    //设置宽
    void setW(int W) {
        //int m_W = W;
        this->m_W = W;
    }
    //获取宽
    int getW() {
        return m_W;
    }
    //设置高
    void setH(int H) {
        //int m_H = H;
        this->m_H = H;
    }
    //获取高
    int getH() {
        return m_H;
    }
    //获取立方体面积
    int calculateS() {
        return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;
    }

    //获取立方体体积
    int calculateV() {
        return  m_L * m_W * m_H;
    }
private:
    int m_L;
    int m_W;
    int m_H;
};
int main() {
    Cube T;//创建立方体的对象,实例化。
    T.setL(10);
    T.setW(10);
    T.setH(10);
    cout << "面积为: " << T.calculateS() << endl;
    cout << "体积为: " << T.calculateV() << endl;
}

体积和面积都是数字,怎么会乱码呢
你的代码到底是怎么写的呢?
是不是printf指定的格式不对啊,如果是浮点数要用%f,是整型用%d,用错的话可能出奇怪的东西

问题出在类中定义了私有成员变量,但是你设置他的值时并没有使用类的值去接收,而是另外自己又定义了一个相同名字的变量去接收,这就导致输出的是乱值。解决办法,使用类内部私有成员变量去接收设置的值。

//设置长
    void setL(int L) {
        //int m_L = L;
        this->m_L = L;
    }

    //设置宽
    void setW(int W) {
        //int m_W = W;
        this->m_W = W;
    }

    //设置高
    void setH(int H) {
        //int m_H = H;
        this->m_H = H;
    }

到此问题解决,点个采纳吧!

问一下,一运行什么东西?