- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序员学习C++(第⼀篇)
1. 数据类型与变量
C++中布尔类型是bool,字符串类型是string
需要注意的点
1. string 都是 ASCII, ⽽不是unicode
2. C++中string可以被修改,⽽Java不能
3. substr获取字字符串, s.substr(i, n) 从i开始,截取n长
4. 可以直接使⽤ == != = = ⽐较字符串
2. 变量与常量
定义⼀个变量
int n = 5;
c++和java不同的是,c++定义的变量在使⽤前不会去检查是否被初始化了,所以变量指向的位置可能是⼀个脏的数据。
c++可以在任何地⽅定义静态变量,但java只能在class⾥定义static
常量可以在任何地⽅定义,使⽤const(java final)
const int DAYS_PER_YEAR = 365;
3. 类创建
类的定义不同,⼀个c++类的形式如下
class Point /* C++ */
{
public:
Point();
Point(double xval, double yval);
void move(double dx, double dy);
double getX() const;
double getY() const;
private:
double x;
double y;
};
有以下⼏点不同:
1. 在c++中,有public和private两个块,⽽在java中⽤public和private关键词修饰
2. c++类定义只有定义和⽅法,和初始化的代码是分开的
3. accessor⽅法被标记为const(java get⽅法)
4. 类结尾有分号
⽅法实现在类的外⾯,所以要在⽅法前加上类名:
Point::Point() { x = 0; y = 0; }
void Point::move(double dx, double dy)
{ x = x + dx;
y = y + dy;
}
double Point::getX() const
{ return x;
}
4. 对象操作
C++类变量包含的是实际的值,new关键词很少⽤
Point p(1, 2); // 创建⼀个p对象
如果不提供构造参数,会使⽤默认构造函数
Time now; // 创建 Time::Time()
在Java⾥这是⼀个空的指针,⽽C++会直接创建⼀个对象
在赋值的时候,Java是创建了另⼀个指针指向同⼀个对象,⽽C++是复制,相当于Java clone.
Point q = p; /* 复制p对象 */
q.move(1, 1); /* 改变q ,不改变p */
相⽐下,这些情况都需要使⽤指针:
1. 修改⼀个对象的时候
2. 如果需要两个变量指向同⼀个对象
3. 类变量只能是⼀个基础类型,如果要指向对象,⽤指针
4. 如果需要指向null或者⼀个实际的对象
5. 函数
Java⾥的函数只能是类实例或者静态函数,⽽C++可以在类外定义函数,称为全局函数
函数的传值,Java由于是引⽤,所以可以修改⾏参信息,C++是传⼊的拷贝,所以不会更改⾏参的信息,当然C++也可以使⽤引⽤传递,这样可
以完成Java不能写出来的swap函数
void swap(int a, int b)
{ int temp = a;
a = b;
b = temp;
}
6. Vectors
C++ vector相当于Java ArrayList, 可以动态增长,如果T是⼀个类型,vectorT会创建⼀个T的动态数组
vectorint a;
创建了⼀个空vector
vectorint a(100);
创建⼀个初始有100元素的vector
a.push_back(n);
添加可以使⽤push_back, 移除最后⼀个使⽤pop_back
遍历
for (i = 0; i a.size(); i++)
sum = sum + a[i];
在Java中有越界检查,但C++没有,所以需要注意边界size
7. 输⼊输出
C++标准输⼊输出使⽤cin和cout
输出
cout hello word!;
输⼊
double x;
cin
您可能关注的文档
最近下载
- 防盗门施工组织设计方案.doc VIP
- 2025年版高等职业教育专科专业教学标准 460115 智能光电制造技术.docx
- [美国时代周刊]Time2012-06-25.pdf VIP
- 中医医疗医院设备配置标准.pdf VIP
- 陕2023TJ 077《住宅厨房、卫生间装配式L型构件排气道系统图集》.pdf VIP
- (完整word版)JGJ107-2016钢筋机械连接技术规程.doc VIP
- 三+《品质》(教学课件)-【中职专用】高二语文(高教版2023·职业模块).pptx VIP
- 新课标下体育中考项目现状的分析与思考.docx VIP
- 新员工入职适应期的评估体系与职业发展建议.docx VIP
- 第三周(9月15日)国旗下讲话稿:勿忘国耻振兴中华.pdf VIP
文档评论(0)