C++学习点滴(多次调用同一个类)

本文介绍了在C++编程中如何优化类之间的调用,通过在类A中定义类B的全局实例来避免在多个函数中重复创建实例,从而提高代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C++编程的时候,如果一个类中的多个函数都调用同一个类的函数,就应该在调用类中定义一个被调用类的全局实例,而不应该在每个函数中都定义一个被调用类的实例。简单的说,如果A类种的多个函数都调用B类的函数,则应该在A类中定义B类的全局实例,详见代码:

//B.cpp

int g_nAbc;

class B

{

  B()

  {

    g_nAbc = 0;

  }

  ~B()

  {

  }

  int BTestA()

  {

    return g_nAbc;

  }

  int BTestB(int a)

  {

    return g_nAbc + a;

  }

};

 

//A.cpp

B *pB;

class A

{

  A()

  {

     pB = new B();

  }

  ~A()

  {

  }

  ATestA()

  {    

    pB->BTestA();

    pB->BTestA();

  }

  ATestB()

  {

    pB->BTestA();

    pB->BTestA();

  }

};

如果将*pB的定义都拿到函数定义的内部,将造成在后面调用类B中的函数的返回结果错误。

转载于:https://www.cnblogs.com/ycmzq/archive/2010/02/02/1661785.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值