您的位置:首页 > 编程语言 > C语言/C++

C++基础回顾

2010-03-19 14:56 309 查看
1.1

C++是面向对象的程序设计,相比面向过程的程序而言,面向对象的程序设计具有更高的可重用性,维护代价相对较低。能将思想,分模块经行开发。

程序 = 对象 + 消息。

1.2

类:一组具有共同属性,特征,行为的对象的抽象

对象:类的具体实例

静态属性:对象的状态

动态属性:对象的操作或功能

方法:数据 + 操作,又称函数。类不是函数的集合!

消息传递:允许一个对象与另外一个对象的交互,一般通过函数的调用实现

接口:描述不同类,对象具有的共同函数

1.3

数据的抽象与封装

封装性;模块独立性;动态连接性;易维护性

1.4

继承性,区别于Java与ActionScript语言,C++可以多继承。

继承提供的代码是共享静态的。

封装提供的代码是共享动态的。

1.5

由于继承性,衍生多态,与重载。

2.1

#include 预编译命令

C++的主函数 int main(){} 一般要求返回的是int

cin cout 对应Java的System.in与System.out

2.2

//

/**/

2.3

cin>>x;

cout<<"HelloWorld"<<endl;

const用于修饰常量 (取代了#define)同Java的final

2.4

inline申明内置函数,消除了C中的宏定义#define的不安全因素

inline float circle(float ),别与函数原型 float circle(float )

2.5

C++的函数以及ActionScript函数都允许使用默认参数,而Java不行!

int fun(int x=0,int y=0);

/*
* File:   main.cpp
* Author: Vicky
*
* Created on 2010年3月19日, 下午2:43
*/

#include <iostream>
using namespace std;

// int add(int ,int ); 使用默认参数的函数不允许定义!

string s = "HelloChina";

int add(int x=0,int y=0){ // 由于不允许定义,故其位置必须再调用函数之前,否则出错
return x + y;
}

int main() {
string s = "HelloWorld";
cout<<s<<endl; // HelloWorld
cout<<::s<<endl; // HelloChina,相当于Java中的this关键字

cout<<add()<<endl; // 使用带默认参数的函数 --> 0
cout<<add(1)<<endl;
cout<<add(1,9)<<endl;
return (EXIT_SUCCESS);
}


2.6

C++的重载功能同Java与ActionScript。同名函数,返回类型不同也会导致错误。

当函数又有声明又有定义时,定义中不允许提供默认参数;当函数只有定义时,默认参数才可以出现在函数定义中。

/*
* File:   main.cpp
* Author: Vicky
*
* Created on 2010年3月19日, 下午2:43
*/

#include <iostream>
using namespace std;

// int add(int ,int ); 使用默认参数的函数不允许定义!

// 仅仅返回类型不同的函数不能成为重载函数,会出错
int over(int ,double );
//double over(int ,double );

string s = "HelloChina";

int add(int x=0,int y=0){ // 由于不允许定义,故其位置必须再调用函数之前,否则出错
return x + y;
}

int main() {
string s = "HelloWorld";
cout<<s<<endl; // HelloWorld
cout<<::s<<endl; // HelloChina,相当于Java中的this关键字

cout<<add()<<endl; // 使用带默认参数的函数 --> 0
cout<<add(1)<<endl;
cout<<add(1,9)<<endl;

cout<<over(1,2.2)<<endl; // 3.2 || 3
return (EXIT_SUCCESS);
}

int over(int x,double y){
return x + y;
}

//double over(int x,double y){
//    return x + y;
//}


Java与ActionScript同样会出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: