在我的一项任务中,我被要求用c++创建一个包含灯泡并能够随意切换灯泡的灯。 CLamp中包含一个CBulb瞬间。这是实验室解决方案的一部分:

在CLamp类中:

CLamp::CLamp(const CLamp& oldLamp)
{
    bptr  = new CBulb;
    *bptr = *(oldLamp.bptr);
}

和:
CBulb *CLamp::ExchangeBulb(CBulb *theNewBulb)
{
    CBulb *tmp = bptr;
    bptr = theNewBulb;

    return tmp;
}

在主要方面:
CLamp lamp1(*some number*);
CBulb *testbptr = new CBulb(*some other number*);
CBulb *temp = lamp1.ExchangeBulb(testbptr);
delete temp;

那么CBulb *CLamp::ExchangeBulb(CBulb *theNewBulb)是什么意思?成员函数ExchangeBulb是什么?这是否也意味着*ClampCBulb类型的对象?预先感谢您的时间。

最佳答案

您有一个CLamp类和一个CBulb类。



它定义了称为CLampExchangeBulb的成员函数,该函数使用一个指向CBulb的指针并返回一个指向CBulb的指针


ExchangeBulbCLamp的成员函数。它需要一个指向CBulb的指针作为Argunent。



不,不是。

我建议您应该阅读good C++ book

关于c++ - 可以将类用作指针吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6858517/

10-11 15:57