在c++中如何像java一样设置初始化对象等于null

大侠,我希望判断一个类的成员数据(一个类的对象)是否被初始化了,在C++中如何做啊?在java中可以定义成员数据时候给他赋值null,如下:Objectobj=null;... 大侠,我希望判断一个类的成员数据(一个类的对象)是否被初始化了,在C++中如何做啊?
在java中可以 定义成员数据时候 给他赋值 null,如下:
Object obj = null;

然后在使用的时候:
if(obj==null)
{
}

但是在c++中该如何定义啊,谢谢解答
我明白 catm3 大侠的意思
关键是我不希望用指针
我希望用像JAVA一样用null初始化对象,然后,在再其他地方用
if(obj==null)
{
}
来判断在此之前有无对此对象的赋值操作,望大侠解答,谢谢
展开
 我来答
catm3
2010-10-18 · TA获得超过511个赞
知道小有建树答主
回答量:234
采纳率:100%
帮助的人:360万
展开全部
如果你不想使用指针,那么很抱歉,跟java引用变量相关的类型在c++中是不存在的;
c++中引用的概念跟java中的不一样,c++中的引用必须绑定到一个实际存在的对象,不能绑定到NULL;

c++中 Object &obj=NULL;这样的句子是绝对违法的
Object &obj=*(new Object());这样的句子,或许可以编译通过,但是这是非常危险地,因为后面很容易忘记释放这个对象。
string &str=string("123")+"456";这样的句子,VC中打开扩展可以编译通过,但是c++规范是不允许的,因为这同样非常危险。str绑定到了临时对象。
以上是c++引用不同之处的小小例子,实际上还有更多不同,我也不多说了,要自己学

c++中的指针跟java中的引用类似;

Object obj = null; java中的意思是定义Object型引用的变量obj并初始化为null

Object *obj=NULL;c++中的意思为定Object型指针的变量obj并初始化为NULL

很像吧

你明显C++基础一点也没有,看看C++的最基本的入门书吧,你有java基础,学起来不难
珺伴伴I
2015-10-24 · TA获得超过337个赞
知道小有建树答主
回答量:438
采纳率:0%
帮助的人:298万
展开全部
要声明为指针才可设置为NULL, 如 A* pa = NULL;
C++不同JAVA 直接 A a; 就已经创建对象。不需要new, 只是指针时才需要new
A* pa = new A(); 这样最后要 delete pa;释放掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哈伪笛5982
2010-10-15 · TA获得超过735个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:331万
展开全部
c++里没有这个概念 你可以声明一个全局或是静态变量 然后重载==运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回到过去我爱你
2010-10-15 · TA获得超过335个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:97.9万
展开全部
用指针判断!

Object * object=new Object();

object->destroy();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
肖禹名
2021-04-04
知道答主
回答量:10
采纳率:0%
帮助的人:7959
展开全部
c++确实不能将对象初始化为null,但是类似的功能并非无法实现,比如可以利用c++中的vector容器,例如:
vector<Object> obj;
最开始,这个容器默认是空的。
如果要初始化,那么就新建一个Object对象newObj,然后设置好对象的属性之后
obj.push_back(newObj);
这样就可以利用容器是否为空来判断有没有进行初始化了。
在使用的时候:
if(obj.size()==0)
{
}
即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式