是小狐狸啊 2016-05-17 10:33 采纳率: 63.6%
浏览 1670
已采纳

c++ 使用类与对象计算体积的简单问题

图片说明

    /*初学类与对象,为了方便,我把全部程序写在了同一个cpp文件里,但错误提示 'set' : overloaded member function 'void (unsigned int,unsigned int,unsigned int)' not found in 'CBox',大神们帮我看看是不是set函数的问题,该怎么改?*/

#include "stdafx.h"
#include<iostream>
using namespace std;

class CBox{
private:
    unsigned int m_nLength;
    unsigned int m_nWidth;
    unsigned int m_nHeight;
public:
    void set();
    void print();
    int getVolume(unsigned int Length,unsigned int Width,unsigned int Height);
};
void CBox:: print ()
{
    cout<<m_nLength;
    cout<<m_nWidth;
    cout<<m_nHeight;
}
void CBox:: set(unsigned int Length,unsigned int Width,unsigned int Height)
{
    cin>>Length;
    cin>>Width;
    cin>>Height;

    m_nLength=Length;
    m_nWidth=Width;
    m_nHeight=Height;
}
int CBox:: getVolume(unsigned int Length,unsigned int Width,unsigned int Height)
{
    Length=m_nLength;
    Width=m_nWidth;
    Height=m_nHeight;

    return (Length*Width*Height);
}

int main(int argc, char* argv[])
{
    CBox r1,r2;
    r1.set();
    r1.print();
    cout<<r1.getVolume<<endl;

    r2.set();
    r2.print();
    cout<<r2.getVolume;
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 小灸舞 2016-05-17 13:11
    关注

    感觉你的set和getVolume都不需要传入参数

    #include "stdafx.h"
     #include<iostream>
    using namespace std;
    
    class CBox{
    private:
        unsigned int m_nLength;
        unsigned int m_nWidth;
        unsigned int m_nHeight;
    public:
        void set();
        void print();
        int getVolume();
    };
    void CBox:: print ()
    {
        cout<<m_nLength;
        cout<<m_nWidth;
        cout<<m_nHeight;
    }
    void CBox:: set()
    {
        unsigned int Length,Width,Height;
        cin>>Length;
        cin>>Width;
        cin>>Height;
    
        m_nLength=Length;
        m_nWidth=Width;
        m_nHeight=Height;
    }
    int CBox:: getVolume()
    {
        int Length=m_nLength;
        int Width=m_nWidth;
        int Height=m_nHeight;
    
        return (Length*Width*Height);
    }
    
    int main(int argc, char* argv[])
    {
        CBox r1,r2;
        r1.set();
        r1.print();
        cout<<r1.getVolume()<<endl;
    
        r2.set();
        r2.print();
        cout<<r2.getVolume();
        return 0;
    }
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)