javaer学c++: c++中的类
程序员文章站
2022-05-13 20:01:57
...
[size=medium]
这个和java中的类类似, 仅仅是写法上有些区别, 以及类的默认特性上有些区别.
写法上的区别, 同时写出java和c++的类:
[/size]
MyClass.java
[size=medium]c++要分为类的声明和类的定义[/size]
Test.h
Test.cpp
[size=medium]
默认特性上的区别:
(1)java的所有类默认都继承自Object, 而c++默认是不继承任何类
(2)java中默认会为所有的成员变量赋默认初值, 而c++不会, 必须通过初始化列表来手动初始化初值, 否则将是一个未定义的值
(3)java中的所有方法默认都是具有多态性的, 而c++中默认都是不具有多态性的
[/size]
这个和java中的类类似, 仅仅是写法上有些区别, 以及类的默认特性上有些区别.
写法上的区别, 同时写出java和c++的类:
[/size]
MyClass.java
public class MyClass
{
private char mChar;
private boolean mBool;
private byte mByte;
priavate short mShort;
private int mInt;
priavate long mLong;
priavate float mFloat;
priavate double mDouble;
public MyClass() {
}
public MyClass(char c, boolean bool, byte b, short s, int i, long l, float f, double d) {
mChar = c;
mBool = bool;
mByte = b;
mShort = s;
mInt = i;
mLong = l;
mFloat = f;
mDouble =d;
}
// getter and setters就省略了
}
[size=medium]c++要分为类的声明和类的定义[/size]
Test.h
#ifndef TEST_H_
#define TEEST_H_
class Test
{
private: // 只需要写一个private, 下面的就全是private了
char m_char;
bool m_bool;
char m_byte; // 用char来表示byte, 因为char在c++中也是占一个字节
short m_short;
int m_int;
long m_long;
float m_float;
double m_double;
public: // 只需要写一个public, 下面的就全是public了
Test();
Test(char c, bool bl, char b, short s, int i, long l, float f, double d);
// getter and setters
}
#endif
Test.cpp
Test::Test()
: m_char(0)
, m_bool(false)
, m_byte(0)
, m_short(0)
, m_int(0)
, m_long(0)
, m_float(0.0f)
, m_double(0.0)
{
}
Test::Test(char c, bool bl, char b, short s, int i, long l, float f, double d)
{
m_char = c;
m_bool = bl;
m_byte = b;
m_short = s;
m_int = i;
m_long = l;
m_float = f;
m_double = d;
}
void Test::setChar(char c)
{
m_char = c;
}
char Test::getChar()
{
return m_char;
}
// 其它getter and setters就省略了
[size=medium]
默认特性上的区别:
(1)java的所有类默认都继承自Object, 而c++默认是不继承任何类
(2)java中默认会为所有的成员变量赋默认初值, 而c++不会, 必须通过初始化列表来手动初始化初值, 否则将是一个未定义的值
(3)java中的所有方法默认都是具有多态性的, 而c++中默认都是不具有多态性的
[/size]
上一篇: 类
下一篇: java集合框架概述之Map接口
推荐阅读
-
小计C++中的引用和vector
-
【C++常用函数】头文件
中的常用函数(绝对值,交换,比较) -
c++ 模板类,方法返回值类型是typedef出来的,或者是auto,那么此方法在类外面如何定义?
-
C++类的相关问题、构造函数与析构函数、复制构造函数实例讲解
-
DEV C++在win7系统中安装以及遇到的一些问题解决
-
怎么计算C++继承、虚继承、虚函数类的大小?
-
C++类对象的返回与引用实例讲解
-
C++ 调用Python3 脚本中无法引入内建模块的问题解决方法
-
OpenCV中的新函数connectedComponentsWithStats使用(python和c++实例)
-
c++之修改vector中的元素(代码)