最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

C++ 学习笔记

工作和技术 crifan 2109浏览 0评论

本帖内容已移至:各种计算机语言简介和总结 – C++学习笔记


 

C++ 学习笔记

Version: 2010-03-03

 

学习C++过程中,遇到的一些内容,觉得有必要记录下来,以供后用。

其中主要是之前用C语言,所以接触C++,有些内容不太习惯,因此记录C++中和C不同的,需要注意的部分内容。

 

1. Protectedpublicprivate

对应的含义,用下表,可以很容易区分:

 

关键字

 

Private 私有

Protected 受保护

Public 公有

 

对应作用

(允许谁访问)

友元函数

友元函数

友元函数

该类自己的函数

该类自己的函数

该类自己的函数

 

子类的函数

子类的函数

 

 

该类的对象

 

2. 函数带默认值的参数

可以在调用函数的时候,不给那些带默认值的参数赋值,即调用函数时候,参数少了几个。

不过要注意的是,带默认值的参数,肯定都是从最右边的一个或几个。

 

3. 枚举变量的引用

类名::某一枚举变量值

而不是C语言中直接引用:某一枚举变量值

 

4. new生成的变量与直接定义变量的区别

已经知道new要和delete配对使用。

直接定义变量:函数中的局部变量的话,在栈stack中分配,静态分配,函数调用完,自动释放内存,即编译器自己帮你释放内存,不需要你关心。

全局的话,应该和C语言中的没区别,就是普通全局变量,始终占用内容,会增加程序耦合度,在可以的情况下,应尽量少用。

 

new生成的变量:动态分配,在堆heap中分配,所以要自己关心内存的使用,在不用此变量的时候,用delete释放内存,否则就产生了内存泄露,即有部分不再使用的变量存在于内存中,属于站着茅坑不拉屎的类型。

一般常见用法一直就是在类的构造函数中用new分配内存给某个变量,然后对应地在析构函数中用delete释放对应变量所占的内存。

 

5. 重载Overload

同一个函数名,参数的个数和类型不同。

 

6. 关于继承inherit

没啥多说的,只是自己不太熟悉,导致看到某个类B调用某个函数func1,结果在B类的定义中找不到,最后才发现原来是B类继承A类,A类中有public的函数func1,因此才有B可以调用func1

 

 

转载请注明:在路上 » C++ 学习笔记

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
79 queries in 0.152 seconds, using 22.15MB memory