类可以用作指针吗
Can a class be used as a pointer?
在我的一项作业中,我被要求用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
类型的对象吗?提前谢谢你的时间。
您有一个类CLamp
和一个类CBulb
。
那么"CBulb*CLamp::ExchangeBulb(CBulb*新灯泡("是什么意思呢?
它定义了CLamp
的一个名为ExchangeBulb
的成员函数,该函数获取指向CBulb
的指针并返回指向CBulb
的指针
ExchangeBulb是什么的成员函数?
CCD_ 11是CCD_。它使用指向CBulb
的指针作为自变量。
这也意味着*Clamp是CBulb类型的对象吗?
不,不是。
我建议你读一本好的C++书
CBulb *CLamp::ExchangeBulb(CBulb *theNewBulb)
ExchangeBulb
是CLamp
的一个成员函数。它返回一个指向CBulb
类的指针,并将指向CBulb
的指针作为自变量。
ExchangeBulb是CLamp类中的一个方法,其目的是获取新灯泡并替换旧灯泡。当你调用CBulb*temp=lamp1.ExchangeBulb(testbptr(时,你在做什么;是您试图用新创建的灯泡(其他编号(替换灯泡(某个编号(。
ExchangeBulb是CLamp的成员。原因很明显,因为只有Lamp可以更换灯泡。CBulb*表示您正在返回一个CBulb指针。
ExchangeBulb是CLamp的一个函数。它更换灯泡并返回旧灯泡。
这也意味着*Clamp是CBulb类型的对象吗?
不,不是。
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 何时在引用或唯一指针上使用移动语义
- QMetaObject invokeMethod的基于函数指针的语法
- 如何从 std::atomic 中提取指针 T<T>?
- 如何在 C# 中映射双 C 结构指针?
- C++将浮点指针值舍入为小数位数
- 为什么++(*p)更改指针值
- 调整大小后指向元素值的指针unordered_map有效?
- 正在将指针转换为范围
- 使用指向成员的指针将成员函数作为参数传递
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错