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++两种语言中“累”——申明和实例化


分享到:


相關文章: