在我的一项任务中,我被要求在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
的成员函数?这是否意味着*Clamp
是CBulb
类型的对象?提前谢谢你的时间。
答案 0 :(得分:2)
您有一个班级CLamp
和一个班级CBulb
。
那么“CBulb * CLamp :: ExchangeBulb(CBulb * theNewBulb)”是什么意思?
它定义了一个名为CLamp
的{{1}}成员函数,它指向ExchangeBulb
并返回指向CBulb
的指针
什么是ExchangeBulb的成员函数?
CBulb
是ExchangeBulb
的成员函数。它需要指向CLamp
作为参数。
这也意味着* Clamp是CBulb类型的对象吗?
不,它没有。
我建议您阅读good C++ book
答案 1 :(得分:0)
CBulb *CLamp::ExchangeBulb(CBulb *theNewBulb)
ExchangeBulb
是CLamp
的成员函数。它返回指向CBulb
类的指针,并指向CBulb
作为参数。
答案 2 :(得分:0)
ExchangeBulb是CLamp类中的一种方法,其目的是获取一个新灯泡并替换旧灯泡。当你打电话给CBulb时,你在做什么* temp = lamp1.ExchangeBulb(testbptr);你是试图用新创建的灯泡(其他一些数字)替换灯泡(某些数字)。
ExchangeBulb是CLamp的成员。由于显而易见的原因,因为只有Lamp可以更换灯泡。 CBulb *表示你正在返回一个CBulb指针。
答案 3 :(得分:0)
ExchangeBulb是CLamp的一个功能。它改变灯泡并返回旧灯泡。
这也意味着* Clamp是CBulb类型的对象吗?
不,不是。