| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 730 人关注过本帖
标题:关于重载运算符的问题
只看楼主 加入收藏
ku_klox
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2010-4-3
结帖率:91.67%
收藏
已结贴  问题点数:5 回复次数:5 
关于重载运算符的问题
#include "stdafx.h"     //这里提示出错了
#include <iostream>
using namespace std;
class real
{
public:
    real(double value=0);
    real operator -()const;
    real operator ++();
private:
    double value;
};
real::real(double value)
{
    this->value=value;
}
real real::operator -()const
{
    return real(-value);
}
real real::operator ++()
{
    value++;
    return real(value);
}
void main()
{
    real r1(12.3);
    cout<<r1<<endl;
    cout<<++r1<<endl;
    cout<<r1<<endl;
    cout<<-r1<<endl;
}



我是用vc6.0的,应该怎样改正,请个位帮帮忙!
搜索更多相关主题的帖子: 算符 载运 
2010-08-30 22:04
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
收藏
得分:0 
我也是,本来程序好好的,加了个friend std::ostream & operator<< (std::ostream & os,Team & t);函数后就报错:"无法打开程序数据库文件",我用的是VS2008,郁闷
2010-08-30 22:17
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
收藏
得分:2 
error C2471: 无法更新程序数据库 ,fatal error C1083: 无法打开程序数据库文件2010-04-14 11:21 P.M.error C2471: 无法更新程序数据库“c:\documents and settings\.......\debug\vc90.pdb”

fatal error C1083: 无法打开程序数据库文件:“c:\documents and settings\........\debug\vc90.pdb”: No such file or directory ....

解决方法:

修改一下设置,就可以解决C2471:
C\C++ | General | Debug Information format | C7 Compatible (/Z7)
C\C++ | Code Generation | Enable String Pooling | Yes (/GF)
Linker | General Debug Info | Yes (/DEBUG)

或者把在debug文件夹下的.pdb文件给删除了,f5一下就行了//我就把它给删了

刚才在网上搜了一下,不知道与你的错误是否相同,希望对你有帮助。。
2010-08-30 22:23
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:3 
这样改过就可以了。
程序代码:
#include "stdafx.h"     //这里提示出错了
#include <iostream>
using namespace std;

class real
{
public:
    real(double value=0);
    void operator -();
    void operator ++();
    void OutPut();
private:
    double value;
};
void real::OutPut()
{
    cout<<value<<endl;
}
real::real(double value)
{
    this->value=value;
}

void real::operator -()
{
   // return real(-value);
    value=-value;
}

void real::operator ++()
{
    value++;
  //  return real(value);
}

void main()
{
    real r1(12.3);
    r1.OutPut();
    ++r1;
    r1.OutPut();
    -r1;
    r1.OutPut();

}


南国利剑
2010-08-30 23:56
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
不能将类的对象放在cout后直接输出。

南国利剑
2010-08-30 23:56
c453413516
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2010-12-5
收藏
得分:0 
#include "stdafx.h"

#include <iostream>
using namespace std;
class real                    //实数类
{
public:
    real(double value=0);
    real operator -()const;    //重载"-"负运算
    real operator ++();        //重载"++"自增运算
public:
    double value;
};
real::real(double value)
{
    this->value=value;
}
real real::operator -()const
{
    return real(-value);
}
real real::operator ++()
{
    value++;
    return real(value);
}
int main()
{
    real r1(12.3);
    cout<<r1.value<<endl;
    cout<<(++r1).value<<endl;
    cout<<r1.value<<endl;
    cout<<(-r1).value<<endl;
    return 0;
}

如果你是看的《C++》入门与实践,建议看光盘里面的源代码……
2011-05-30 11:37
快速回复:关于重载运算符的问题
数据加载中...
 
   



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

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