C&&C++&&VB&&java

33 篇文章 0 订阅
5 篇文章 0 订阅
研究问题:
  1. 学的越多越容易打岔,这时候有必要对比一下细微差别!
    以下是C/C++/visual basic/java等语法差别!!

要点:

  • C/C++/java语言严格区分大小写,VB不区分大小写
  • C语言中没有特定的字符串类型,而C++/java中有string字符串数据类型。
    java中nextLine()即输入字符串,而next()是输入字符(不包括空格,table……)
  • C系统对指针变量赋值时要给以确定的地址。
  • java会主动释放垃圾内存,C/C++必须手动释放。
  • C++/java 构造函数会在创建对象时自动调用!!(注意函数重载时的参数列表!!)
  • 分号问题:C/java中反大括号之后,不可加分号;C++中除了普通函数,成员函数的函数体反大括号之后无需分号之外,其他都要分号结尾!!
  • C中指针悬空为NULL;C++中指针悬空为NULL/0
  • C++继承时默认为private;如:class B:A{……};
  • 动态分配:C,指针用malloc;C++,指针用new;java,任意变量用new
  • C++中用友元函数访问私有成员变量,java中用setter/getter访问私有成员
  • C语言中形参没有引用传递!!
  • C中字符串的输出? —1>用指向字符数组的指针 2>用字符数组一个一个打印
  • C++中一个浮点型若是小数部分为0,直接输出必然是不带小数点的整型。
    C中输出的数据类型取决于%d/%ld/%f/%lf/%I64d,以及定点小数类型%m.nf
    C++中定点小树类型要使用头文件”iomanip”,如:
#include <iostream>
#include <iomanip>
using namespace std; 

int main() 
{ 
    float a=0.1;
    cout.setf(ios::fixed); 
    cout<<setprecision(2)<<a<<endl;//输出0.10
    cout.unsetf(ios::fixed);
    cout<<setprecision(2)<<a<<endl; //输出0.1
}

这里写图片描述
cout.setf(ios::fixed)——用定点格式显示浮点数;
cout.setf(ios::showpoint)——显示浮点数小数点后的0;
cout.precision(2)——设置精确度为2位并返回上一次的设置。

  • C语言—弱类型语言,C++—强类型语言
    在const用法上,C中不可用const常量创建数组;在C++中可以。
  • C++支持多继承,而java不可这样做(使用接口代替)或使用多层继承。
  • Java中

‘*’:表示字符;
**…”表示字符串

由于编译器的缘故,java中继承时子类可以附加成员(变量或方法),但只能用自己的类去new对象;除非是多态时:父类 对象名=new 子类名()时,子类中含有的方法在父类中必须有,而父类中含有的方法在子类中可有可无(没有时new对象到父类查找)。
C++中继承可通过子类对象访问父类成员(子类对象名.父类名::父类成员),遵循先构造后析构的原则。
C++:class C:访问权限符 A,访问权限符 B{ }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值