`
ouyida3
  • 浏览: 47951 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

从上次写的10行代码看java与c++的异同

阅读更多

从上次写的10行代码看java与c++的异同

 

c++和java定义一个类都是使用class,然后都是用大括号包着;

但是里面c++是写一次public,下面定义的都是public,记得后面必须有个冒号,可以出现多个public;java需要每个前面都注明是public;

java一般会在class前加public,不加则别的类不能使用,但是不能写private和protected,c++是否可以加?

java里也有null,不过java是全小写,c++里的NULL是全大写;

java和c++都是有public、proteced、private;

classDetailbillMgr

{

public:

    DetailbillMgr()

    {

        m_AltibaseIntf = NULL;// ou

    }

private:

    abdb::AltibaseIntf * m_AltibaseIntf;// ou

};

 

c++可以定义对象指针,在对象名前面加个*,也可以定义对象,java只能定义对象;

c++和java都是用new来创建一个对象,c++返回的是对象指针,java返回的是对象引用;c++最后可以没有括号,java必须有括号;

c++有命名空间,java没有,但是java有package;如果两个类使用了同一个类名,c++是通过“命名空间::类名”区分,java通过“package.类名”区分;

命名空间一般是一个单词,比如log4cpp;package一般是一个路径,比如java.util.Map;

如果在文件一开始引入了命名空间或包路径,则下面就可以直接使用里面的东西,c++的引入是using namespace,java是import;

c++可以include头文件,java没有头文件,包路径已经指向了类所在位置,所以c++的include+using namespace=java的import;

c++如果引命名空间则using namespace,如果引其中的类,则using;java都是使用import;

abdb::AltibaseIntf * abdbi;

if(m_AltibaseIntf==NULL)

{

    m_AltibaseIntf = new abdb::AltibaseIntf;

}

m_AltibaseIntf =  abdb::connectAltibase(m_AltibaseIntf);

abdbi = m_AltibaseIntf;

 

如果一个函数是static,c++的调用方式是“类名::函数名”,java是“类名.方法名”;

成员行为,c++一般叫函数,java一般叫方法;

abdb::AltibaseIntf * abdbi = abdb::AltibaseIntf::getInstance();

abdbi =  abdb::connectAltibase(abdbi);

 

java每句代码结束必须有分号“;”,每个方法和类的结束可以有分号也可以没有分号,一般不写分号

c++?

classAltibaseIntf {

public:

    stringcurTimeStamp; // Ou

};

 

c++和java的注释符是一样的,都是有两种,//和/**/;

c++如果是对象指针调用函数/成员变量,用符号“->”,如果是对象调用函数则用符号“.”;

java只有对象,调用方法/成员变量就是用“.”;

//当前时间戳

//static string curTimeStamp("");ou

if(handle->curTimeStamp < timeStamp)//ou

{

    handle->disConnect();

    handle->setConnInfo(abdbUser, abdbPassWd, abdbDsn, abdbPort);

    handle->connect();

    handle->curTimeStamp = timeStamp;

}

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics