新手求助-完善以下类和函数foo,使得main可以正常编译运行(要求不能改动main函数内部的语句)

L_inger 2006-04-20 11:46:32
完善以下类和函数foo,使得main可以正常编译运行(要求不能改动main函数内部的语句)
Class A
{
protected:
int m_nVal;

};

Class B
{
protected:
long m_lVal;

}

int main(..)
{
A a0,a1;
B b0,b1;

int nVal=a0+a1;
long lVal=b0*b1;
bool bRet=a0-b1;

return 0;
}

简单说明一下
...全文
59 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cnhgj 2006-04-21
class A
{
friend class B;
public:
explicit A() : m_nVal(1){};
operator int(){return m_nVal;}
A& operator+(const A &a) {m_nVal += a.m_nVal;return *this;}
protected:
int m_nVal;
};

class B
{
public:
explicit B() : m_lVal(2){};
operator long(){return m_lVal;}
B& operator*(const B &b) {m_lVal += b.m_lVal;return *this;}
bool operator-(const A &a){return m_lVal > a.m_nVal;};
protected:
long m_lVal;
};

int main()
{
A a0,a1;
B b0,b1;
int nVal=a0+a1;
long lVal=b0*b1;
bool bRet=a0-b1;
system("pause");
return 0;
}

重载A+操作符,B*操作符、-操作符,判断B::m_lVal-A::m_nVal是否大于0
  • 打赏
  • 举报
回复
zhousqy 2006-04-21
运算符重载
int operator+(const A &rhs) const
{
return m_nVal + rhs.m_nVal;
}
  • 打赏
  • 举报
回复
Piboye 2006-04-21
Class A
{
private:
int m_nVal;
public:
operator int()const{ return m_nVal;}
A(int a_1=0):m_nVal(a_1){}
};

Class B
{
private:
long m_lVal;
public:
operator int()const{ return m_lVal;}
B(long a_1=0):m_lVal(a_1){}
};
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2006-04-20 11:46
社区公告
暂无公告