鱼C论坛

 找回密码
 立即注册
查看: 2278|回复: 3

[已解决]构造三角形类

[复制链接]
发表于 2018-1-3 11:37:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 huhuhu12138 于 2018-1-3 11:39 编辑

javascript:;#include<iostream>
using namespace std;
class triangle
{
private:
    float x,y,z;
public:
    triangle(float a,float b,float c);
    void perimeter();
};
int main()
{
    triangle s1(float a,float b, float c);
    s1.perimeter();
    return 0;
}
triangle::triangle(float a,float b,float c)
{
    cin>>a>>b>>c;
    x=a;y=b;z=c;
}
void triangle::perimeter()
{
    float sum;
    sum=x+y+z;
    cout<<sum<<endl;

}为什么会出现这个error啊???
最佳答案
2018-1-3 11:41:34
构造该类对象的时候你要传入实际的值,直接在构造的时候定义三个未初始化的变量无法完成构造
你应该这样
float a = 3, b = 4, c = 5;
triangle s1(a,b,c);
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-3 11:41:34 | 显示全部楼层    本楼为最佳答案   
构造该类对象的时候你要传入实际的值,直接在构造的时候定义三个未初始化的变量无法完成构造
你应该这样
float a = 3, b = 4, c = 5;
triangle s1(a,b,c);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 11:48:59 | 显示全部楼层
   triangle(float a,float b,float c);
你的构造函数是带参的;你得住里面传参

修改代码:

#include<iostream>

using namespace std;

class triangle
{
private:
    float x,y,z;
public:
    triangle();
    void perimeter();
};

int main()
{
    triangle s1;
    s1.perimeter();
    return 0;
}
triangle::triangle()
{

    cin>>x>>y>>z;

}
void triangle::perimeter()
{
    float sum;
    sum=x+y+z;
    cout<<sum<<endl;

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-6 10:25:39 From FishC Mobile | 显示全部楼层
ba21 发表于 2018-1-3 11:48
triangle(float a,float b,float c);
你的构造函数是带参的;你得住里面传参


嗯嗯嗯,谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-29 03:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表