Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类可以用作指针吗? 在我的一个作业中,我被要求在C++中创建一个灯泡,它可以随意地切换灯泡。夹钳内部有一个瞬间的CBulb。这是实验室解决方案的一部分:_C++ - Fatal编程技术网

类可以用作指针吗? 在我的一个作业中,我被要求在C++中创建一个灯泡,它可以随意地切换灯泡。夹钳内部有一个瞬间的CBulb。这是实验室解决方案的一部分:

类可以用作指针吗? 在我的一个作业中,我被要求在C++中创建一个灯泡,它可以随意地切换灯泡。夹钳内部有一个瞬间的CBulb。这是实验室解决方案的一部分:,c++,C++,在CLamp类中: CLamp::CLamp(const CLamp& oldLamp) { bptr = new CBulb; *bptr = *(oldLamp.bptr); } 以及: 大体上: CLamp lamp1(*some number*); CBulb *testbptr = new CBulb(*some other number*); CBulb *temp = lamp1.ExchangeBulb(testbptr); delete temp;

在CLamp类中:

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

大体上:

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
类型的对象?提前感谢您抽出时间

您有一个class
CLamp
,还有一个class
CBulb

那么“CBulb*CLamp::ExchangeBulb(CBulb*theNewBulb)”是什么意思呢

它定义了名为
ExchangeBulb
CLamp
的成员函数,该函数获取指向
CBulb
的指针,并返回指向
CBulb

ExchangeBulb是什么的成员函数

ExchangeBulb
CLamp
的成员函数。它将指向
CBulb
的指针作为参数

这是否意味着*Clamp是CBulb类型的对象

不,没有

我建议你读一本书


ExchangeBulb
CLamp
的成员函数。它返回指向
CBulb
类的指针,并将指向
CBulb
的指针作为参数。

ExchangeBulb是CLamp类中的一个方法,其目的是获取新灯泡并替换旧灯泡。调用CBulb*temp=lamp1.ExchangeBulb(testbptr)时正在执行的操作;您正在尝试用新创建的灯泡(其他号码)更换灯泡(某些号码)


ExchangeBulb是夹具的成员。原因很明显,因为只有灯可以更换灯泡。CBulb*表示返回一个CBulb指针。

ExchangeBulb是钳制的一个函数。它更换灯泡并返回旧灯泡

这是否意味着*Clamp是CBulb类型的对象

不,不是

CLamp lamp1(*some number*);
CBulb *testbptr = new CBulb(*some other number*);
CBulb *temp = lamp1.ExchangeBulb(testbptr);
delete temp;
CBulb *CLamp::ExchangeBulb(CBulb *theNewBulb)