KRISKEE'S BLOG[GO]

C++的基础学习(一)

C++是属于C语言的超集,是基于C语言的面向对象语言,所以同时具备面向过程和面向对象两种特性。

关于C++面向过程的特性,可以根据C语言得知。
关于C++面向对象以及C所不具备的特性:

1.作用域运算符(::)
在C语言中,如果域内声明的变量与域外声明的变量名相同时,域内变量会覆盖域外变量,如果需要使用到域外变量,在C++中可以在变量名前加上作用于运算符(::)进行访问

1 int a = 10;
2 int main(){
3   int a = 20;
4   cout<<a;
5   cout<<::a;    
6   return 0;
7 }

输出10和20.

 

2.引用变量
在C中与指针相关的重要运算符是取值运算符(&)和取值运算符(*)。我们使用取值运算符创建一个变量A,将变量B的地址赋予
A,那么A与B所指向的内存地址是同一块内存,A与B任一发生变化则另一变量也会改变。取址运算符亦常常用于函数(方法)中,因为将参数传入方法时,方法域内会创建一个变量进行运算处理,并不会对参数变量本身进行处理,故在方法的作用域内使用取址运算符传入参数地址,即可使方法能够处理变量本身。

1 int a = 10;
2 int &b = a;
3 a++;
4 cout<<a;
5 cout<<b;

a,b指向同一块内存地址,输出11和11
函数中传入引用类型参数:

1 void test(int &a){
2     a = a * a;
3 }

在C++中,函数支持默认参数

1 void test2(int &a, int count = 2){
2   a = a * a;     
3 }

上面这个函数的count默认值为2.

 

3.内存空间的开辟(new)和销毁(delete)
在C++中使用new关键字进行内存空间的开辟,对于不再使用的内存空间则使用delete进行销毁处理

 

4.面向对象的基本特性:抽象,封装,继承,多态

抽象是一种思想。面向对象的思想就是将一类具有相同相似特征(属性 Property),功能(方法 Method)的事物抽象成一个概念,即类(Class),这个概念中每一个独立个体即为一个对象(Object)。在进行面向对象编程时,我们主要操作的就是对象。

封装是将具有相同的特征和功能的事物,把相同的特征和功能封装为一个类,类似于一个基础的模板,在进行属性和方法操作时,能够直接通过类的实例化对象操作。

继承是指一个子类作为一个父类的继承,那该子类就拥有了父类的属性和方法(非私有)。除此之外,子类可以拥有属于自己的属性和方法,也可以对父类的方法进行覆盖。

多态,字面意义就是多种状态,即针对于同一操作,可能出现不同的结果,例如同一方法,子类可以通过重写父类方法进行覆盖。

posted @ 2016-06-08 17:50  Kriskee  阅读(148)  评论(0编辑  收藏  举报