| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:这道程序是不是有错啊?
只看楼主 加入收藏
小编程员
Rank: 1
来 自:广州
等 级:新手上路
帖 子:14
专家分:0
注 册:2009-7-31
结帖率:75%
收藏
已结贴  问题点数:50 回复次数:3 
这道程序是不是有错啊?
这是一道C++书上的练习,我检查了一下,好像没有错,但就是不对,请高手们看下!
#include<iostream>
using namespace std;
template<typename T>
class Complex
{public:
Complex(T r=0,T i=0);
void print()const;
friend Complex operator+(const Complex<T>  &c1,const Complex<T> &c2);
private:
    T Real,Image;
};
template<typename T>
Complex<T>::Complex(T r,T i)
{Real=r; Image=i;}
template<typename T>
Complex<T> operator+(const Complex<T> &c1,const Complex<T> &c2)
{T r=c1.Real+c2.Real;
T i=c1.Image+c2.Image;
return Complex<T>(r,i);
}
template<typename T>
void Complex<T>::print()const
{cout<<'('<<Real<<","<<Image<<')'<<endl;
}
void main()
{Complex<double> c1(2.5,3.7),c2(4.2,6.5);
Complex<double> c;
c=c1+c2;
c.print();
}
搜索更多相关主题的帖子: class Complex private include 
2009-08-13 22:04
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:25 
帮你顶下,我也找不到为什么错了 我把函数体移里类的里面居然又成了fatal error C1001: INTERNAL COMPILER ERROR
发一个我原来写的:
#include <iostream.h>
#include <math.h>
class complex
{
private:
    double real;
    double imag;
public:
    complex(double x=0.0,double y=0.0)
    {real=x; imag=y;}
    double realcomplex(){return real;}
    double imagcomplex(){return imag;}
    complex operator +(complex c2);
    complex operator -(complex c2);
    void diplay();
};
 
complex complex::operator +(complex c2)
{
complex c;
c.real=(c2.real+real);
c.imag=(c2.imag+imag);
return complex(c.real,c.imag);
}
 
complex complex::operator -(complex c2)
{
complex c;
c.real=(c2.real-this->real);
c.imag=(c2.imag-imag);
return complex(c.real,c.imag);
}
void main()
{complex a(1,3),b(3,5),c;
c=a-b;
cout<<c.realcomplex();
}
2009-08-13 23:44
小编程员
Rank: 1
来 自:广州
等 级:新手上路
帖 子:14
专家分:0
注 册:2009-7-31
收藏
得分:0 
多谢LS,但我自己找到错误了,把头文件#include<iostream>
                                    using namespace std;
换成#include<iostream.h>就可以了。
但为什么是这样我就不清楚了。
望高手解答!
2009-08-14 10:28
dicke
Rank: 2
等 级:论坛游民
帖 子:9
专家分:33
注 册:2009-8-14
收藏
得分:25 
应该是编译器版本的问题.新版本的编译器已经不认为iostream是一个"实际存在"的头文件,所以不用加.h
2009-08-14 12:55
快速回复:这道程序是不是有错啊?
数据加载中...
 
   



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

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