如下java和c++ 类代码示例,c++类和java类使用的差异主要包括:
1.c++ 类中static全局变量必须声明const才可以赋值。
在java类中全局镜头变量,可以声明final, 也可以不声明。
2.c++ 的函数声明在类内部,c++ 的函数定义在类的外部;
如果 不定义2.1函数声明和2.2外部函数定义;也可以直接在类里面定义函数2.3。
java 只要在类内部定义即可。
3.c++ 类定义结束;结尾
4.c++ 类初始化对象my方式 和java不同。java初始化对象需要new 类对象。c++ 可以直接使用类名创建对象和 使用 new 关键字创建对象,用完需要delete删除对象
5.c++ 类 中静态变量访问 符号不同,c++使用::,JAVA使用.
6.c++ 类 继承使用: public 父类,其中public 是用来修饰每个基类。JAVA使用extends 父类
7.c++ const int顺序可颠倒,int const也可以。JAVA只可以用final int 修饰,顺序不能颠倒。
8.c++冒号的作用:8.1 构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型,例如:
struct _XXX{
_XXX() : y(0xc0) {}
};
8.2 类名冒号后面的是用来定义类的继承。例如: class 派生类名 : 继承方式 基类名
9.typedef typename 作用,例如:typedef typename std::vector<T>::size_type size_type;
typedef创建了存在类型的别名,而typename告诉编译器std::vector<T>::size_type是一个类型而不是一个成员
----------java类代码示例
public class MyClass {
public static final int length = 20; // 1在java类中全局镜头变量,可以声明final, 也可以不声明。
public int age = 10;
double get() {
return 1;
}
int main() {
MyClass my = new MyClass();
my.get();
Log.i("MyClass","length:"+MyClass.length);
Log.i("MyClass","age:"+my.age);
return 0;
}
}
//继承使用
// 基类
class Animal {
// eat() 函数
// sleep() 函数
};
class Dog extends Animal {
// bark() 函数
};
----------c++类代码示例
#include <iostream>
using namespace std;
class MyClass {
public:
static const int length = 20; //1.c++ 类中static全局变量必须声明const才可以赋值,
double get(void); //2.1 c++ 的函数声明在类内部
//double get(int aa) { 2.3 如果 不定义2.1函数声明和2.2外部函数定义;也可以直接在类里面定义函数
// return 1;
//}
//private:
int age = 10;
}; //3.c++ 类定义结束;结尾
double MyClass::get(void) //2.2 c++ 的函数定义在类的外部
{
return 1;
}
//int MyClass::length = 30;
int main()
{
MyClass my; //4.c++ 类初始化对象my方式 和java不同,也可以new 类初始化,用完需要delete删除对象
MyClass * my2 = new MyClass();
my.get();
//5.c++ 类 中静态遍量访问 符号不同
cout << "length: "<< MyClass::length <<std::endl;
cout << "age: "<< my.age <<std::endl;
cout << "age2: "<< my2->age <<std::endl;
if (NULL != my2)
{
// 使用delete删除对象
delete my2;
my2 = NULL;
}
return 0;
}
//继承使用
// 基类
class Animal {
// eat() 函数
// sleep() 函数
};
//派生类
class Dog : public Animal {
// bark() 函数
};