| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1117 人关注过本帖
标题:转换构造函数问题
只看楼主 加入收藏
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
结帖率:100%
收藏
 问题点数:0 回复次数:8 
转换构造函数问题
#include "iostream"
using namespace std;
class Complex{
public:
    Complex(){real=0;imag=0;}
    Complex(double r){real=r;imag=0;}
    Complex(double r,double i){real=r;imag=i;}
    friend Complex operator +(Complex c1,Complex c2);
    void display();
private:
    double real;
    double imag;
};
Complex operator +(Complex c1,Complex c2)
{
    Complex c3;
    c3.real=c1.real+c2.real;
    c3.imag=c1.imag+c2.imag;
    return c3;
}
void Complex::display()
{cout<<"("real<<","<<imag"<<i)"<<endl;}
void main()
{
    Complex c1(2.5,3.6),c2(2.0,3.8),c3;
    c3=c1+1.5;
    c3.display();
}

f:\c程序\转换构造函数\late.cpp(8) : fatal error C1001: INTERNAL COMPILER ERROR
        (compiler file 'msc1.cpp', line 1786)
         Please choose the Technical Support command on the Visual C++
         Help menu, or open the Technical Support help file for more information
Error executing cl.exe.

late.obj - 1 error(s), 0 warning(s)


我没见过那样的错误,那程序代码还是从书上找的,运行结果怎么会那样?!求解,求解。
搜索更多相关主题的帖子: 函数 构造 
2008-08-31 16:04
沿途有鬼
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2008-7-20
收藏
得分:0 
头文件应该这样#include <iostream>
2008-09-05 19:36
拉普兰德
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-4
收藏
得分:0 
楼上的不对啊,还是不行
2008-10-05 12:19
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
[bo][un]沿途有鬼[/un] 在 2008-9-5 19:36 的发言:[/bo]

头文件应该这样#include <iostream>

兄弟,这有关系吗?不同的用法罢了...

2008-10-05 12:22
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
vc6.0对友元支持不好,换编译器

学习需要安静。。海盗要重新来过。。
2008-10-05 12:34
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
收藏
得分:0 
[bo][un]sunkaidong[/un] 在 2008-10-5 12:34 的发言:[/bo]

vc6.0对友元支持不好,换编译器


dong哥,好久不见

to LZ:
打补丁(SP6)或自已定义名空间 或 换编译..

推荐:换编译,用GCC...

Fighting~~~~~~~~
2008-10-05 12:41
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
// s2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
using namespace std;
namespace Demo{
class Complex{
public:
    Complex(){real=0;imag=0;}
    Complex(double r){real=r;imag=0;}
    Complex(double r,double i){real=r;imag=i;}
    friend Complex operator +(Complex c1,Complex c2);
    void display();
private:
    double real;
    double imag;
};
Complex operator +(Complex c1,Complex c2)
{
    Complex c3;
    c3.real=c1.real+c2.real;
    c3.imag=c1.imag+c2.imag;
    return c3;
}
void Complex::display()
{
    cout<<"("<<real<<","<<imag<<"<<i)"<<endl;
}
}
void main()
{
    Demo::Complex c1(2.5,3.6),c2(2.0,3.8),c3;
    c3=c1+1.5;
    c3.display();
}

中学?

学习需要安静。。海盗要重新来过。。
2008-10-05 12:46
mason
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-9-28
收藏
得分:0 
你的输出语句是不是有问题?
{cout<<"("real<<","<<imag"<<i)"<<endl;}是不是应该改成cout<<"("<<real<<","<<imag<<"<<i)"<<endl;
再加上楼上的名称空间,就通过了
2008-10-05 14:10
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
回复 7# sunkaidong 的帖子
我在这里....那位不是我~!

樱花大战,  有爱.
2008-10-05 14:32
快速回复:转换构造函数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018814 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved