标题:我想用运算符重载函数重载“=”,使它实现不同类的对象间的赋值,怎么编写? ...
取消只看楼主
Go2009
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-19
 问题点数:0 回复次数:1 
我想用运算符重载函数重载“=”,使它实现不同类的对象间的赋值,怎么编写?谢谢···
我刚刚学c++,想重载运算符“=”,来实现不同类的对象间的赋值,我自己编写了一个,错误太多,不敢贴出来了。这个应该怎么编写?谢谢···
搜索更多相关主题的帖子: 运算符 赋值 函数 同类 对象 
2008-10-24 13:13
Go2009
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-19
得分:0 
#include<iostream>
using namespace std;
class Date;   //对Date类的提前声明
class Time
{
public:
    Time(int m,int s);
    operator=(Time &t1,Date &d1);   //重载运算符“=”的函数,用于Date类和Time类对象间的赋值。
private:
    int minute,sec;
} ;

class Date
{
public:
    Date(int y,int d);
    friend Time::operator=(Time &t1,Date &d1);//声明运算符重载函数为该类的友元函数,可以访问该类的私有成员
private:
    int year,day;
};
Time::Time(int m,int s):minute(m),sec(s){}
Date::Date(int y,int d):year(y),day(d){}
Time::operator=(Time &t1,Date &d1)
{
    t1.m=d1.y;
    t1.s=d1.d;
    return t1;
}

int main()
{
    Time t1;
    Date d1(2,3);
    t1=d1;
    cout<<t1.m<<":"<<t1.s<<endl;
    return 0;
}

这是我一开始编写的程序,我是想把d1(2,3)赋给t1,我看了书后想做个练习,希望大家可以教教我。谢谢···
2008-10-24 17:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-240293-1-1.html




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

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