新手求助-完善以下类和函数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;
}

简单说明一下
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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){}
};

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧