首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问C++高手一个有关问题

2013-02-27 
问C++高手一个问题比如我有无穷个没有任何关系的类所有类里面都有一个成员int a能不能写一个函数,直接任意

问C++高手一个问题
比如我有无穷个没有任何关系的类  所有类里面都有一个成员int a
能不能写一个函数,直接任意两个类 返回他们成员a的差
[解决办法]
#define sub(a,b) a.a - b.a
class A
{
public:
  int a;
protected:
private:
};
class B
{
public:
  int a;
protected:
private:
};
void main()
{
  A a;
  a.a = 5;
  B b;
  b.a = 4;
  int c = sub(a,b);
  getchar();
}
[解决办法]
无穷个没有任何关系的类

说明你没有抽象好,类太多了会爆炸的
[解决办法]
这个类都从一个基类派生,简单就解决了。

class Cbase
{
protected:
     int a;
public:
    int BackDiff( CBase *pObj)
   {
        return a - pObj->a;
   }
};

// 其他类都 都从这个类派生
class A : public CBase{};
class B: public CBase{};
class C : public CBase{};
.....
class N : public CBase{};

这就行了,既然都有同样一个成员, 那就是共性,怎么能认为没有关系?

热点排行