java,C++兩種語言中“累”——申明和實例化

java中類:

class TestClass{ 

private String name; //類的屬性
public int age; //類的屬性

public TestClass(int age,String name){ //構造方法
this.age=age;
this.name=name;
}
public void say() { //普通方法
System.out.println("hello,world");
}
}


//實例化一個類
TestClass testClass= new TestClass(23,"李磊");
System.out.println(testClass.age); //調用類屬性
testClass.say(); //調用類的方法

C++中類:

class TestClass{
private:std::string name;
public: int age;
TestClass(std::string name,int age){ //構造函數
this->age=age;
this->name=name;
}
~TestClass(){ //析構函數
std::cout< }
public: void say(){
std::cout< }
};
//實例化一個類 方法一(棧中)
std::string name="李磊";
TestClass testClass(name,23);
std::cout<<testclass.age>testClass.say();
std::cout<//實例化一個類 方法二(堆中)
TestClass *testClass1=new TestClass(name,23);
std::cout<<testclass1->age<<:endl>testClass1->say();
delete(testClass1); //養成良好習慣,new的對象必須delete


/<testclass1->/<testclass.age>

總結:通過比較,我們看見了java和c++類的不同。

A、java類中,只有構造函數,沒有像c++那種析構函數,而且申明構造函數的方式一樣,都是用類的同樣名字作為標誌。

B、c++實例化類有兩種不同方式,分包保存在內存棧中和堆中,注意棧中的實例化對象不需要我們手動回收內存,而堆中的則需要。java的實例化都是new創建的,而不需要我們手動回收,這是java自帶gc來回收的(這裡涉及包兩種語言的內存回收機制,以後再說)。

C、java中,實例化對象都是使用“.”應用器屬性和方法,而c++不同,如果前面的是應用指針則需要使用“->”來引用。

java,C++兩種語言中“累”——申明和實例化


分享到:


相關文章: