码迷,mamicode.com
首页 > 编程语言 > 详细

C++之菜鸟入门概念B

时间:2016-11-30 03:48:16      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:权限   ring   end   ati   执行   地址   交换   入门   定义   

  • 友元函数                    格式:friend  类型   函数名(形式参数);      关键字friend

                                       友元函数是可以直接访问类的私有成员的非成员函数

                                       友元的作用虽减少时间开销,但它破坏了类的封装性和隐藏性
                                         

  • 友元类                      格式:friend class 类名;              关键字friend class

                                      友元关系不能被继承,友元关系是单向的,不具有交换性,友元关系不具有传递性

class A{
friend class B;   // 类B的所有成员函数都是类A的友元函数
};
class B{
函数体
};

 

  • C++头文件加.h和不加.h的区别

                                      自己写的头文件,必须加.h。

                                      标准的C++头文件没有.h扩展名
                                      iostream是C++的头文件,iostream.h是C的头文件
                                      iostream.h里面定义的所有类以及对象都是在全局空间里,可以直用cout
                                      在iostream里面,它所定义的东西都在名字空间std里,必须加上 using namespace std才能用cout
                                      
                                      有特殊的,C的标准库有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数
                                      这个头文件跟C++的string类半点关系也没有,他们的功能是不同的

 

  • 插入器(<<)            从流中输出数据

 

  • 析取器(>>)           从流中输入数据

 

 

  • 匿名对象                  当对方法只进行一次调用时用      

                                      当对象对成员进行多次调用时,不能使用匿名对象,必须给对象起名字。  

 

  • 成员                        在类中定义的都可称之为成员。

                                      成员有两种    1.成员变量: 事物的属性。

                                                        2.成员函数: 事物的行为。

 

  • 定义类的实质            就是在定义成员变量和成员函数。

                                     必须先要对事物进行属性和行为的分析,才可以用代码来体现。

 

  • 封装                       隐藏对象的属性和实现细节 ,仅对外提供公共访问方式, 便于使用 ,提高重用性

                                     不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。
                                     私有仅仅是封装的一种体现形式

 

  • 私有                      权限最低 ,只有在本类中的访问有效。

                                    类中的属性通常被私有化,并对外提供公共的访问方法。

 

  • 私有成员                其他类不能直接创建对象访问私有成员,

                                   只能通过本类对外提供具体的访问方式来完成对私有的访问

                                   可以通过对外提供函数的形式对其进行访问。

 

  • 成员变量               直接定义在类中,在这个类中有效 

                                  存在于堆内存中,随着对象的产生而存在,消失而消失。

 

  • 局部变量               定义在方法中,参数上,语句中。

                                  局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
                                  存在于栈内存中,随着所属区域的运行而存在,结束而释放。

 

  • 构造代码块            给所有的对象进行初始化,都调用一个代码块

                                  只要对象一建立。就会调用这个代码块。

 

 

  • 创建一个对象在内存中做了什么事 

 

                                  Person p = new Person();

                                          1.指定位置的Person.class文件加载进内存。
                                          2.执行main方法时,在栈内存中开辟main方法的空间,在main方法的栈区分配了一个变量p。
                                          3.在堆内存中开辟一个实体空间,分配一个内存首地址值。 new
                                          4.在该实体空间中进行属性的空间分配,并进行了默认初始化。
                                          5.对空间中的属性进行显示初始化。
                                          6.进行实体的构造代码块初始化。
                                          7.调用该实体对应的构造函数,进行构造函数初始化。()
                                          8.将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)

 

  • this                            代表对象。 哪个对象调用了this所在的函数,this就代表哪个对象,就是对哪个对象的引用。

                                          功能内部使用到调用该功能的对象,用this来表示这个对象。

 

  • static                          静态 ,修饰符 ,修饰成员(成员变量和成员函数)

                                          实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。
                                          被静态修饰的成员,可以直接被类名所调用 ,           格式: 类名.静态方式。
                                          静态随着类的加载而加载。而且优先于对象存在。
                                          静态方法只能访问静态成员,不可以访问非静态成员。 非静态成员函数中可以调用静态成员。
                                          定义静态,要明确该数据是否是被对象所共享的。
                                          主函数是静态的。

 

  • 静态成员                      两种 //1.成员变量(数据共享时静态化)

                                                  2.成员函数 (方法中没有调用特有数据时,应定义成静态)

                                          

 

  • 成员变量和静态变量区别 

                                        1. 成员变量       对象,实例变量,存在于堆内存

                                                              随着对象创建而存在, 随着对象被回收而消失

                                                             只能被对象所调用 对象的特有数据

                                        2.静态变量       类,   类变量 ,   存在于方法区

                                                             随着类的加载而存在,随着类的消失而消失

                                                             可以被对象调用,也可以被类名调用

                                                             对象的共享数据 ,生命周期很长。

 

 

 

  • 静态代码块                           有静态关键字标示的一个代码块区域, 定义在类中, 完成类的初始化

                                                 随着类的加载执行,只执行一次(new 多个对象就只执行一次)
                                                 若和主函数在同一类中,优先于主函数执行。
                                                 静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 ->构造代码块->构造函数;

 



  • 主函数                                 保证所在类的独立运行 ,程序的入口

                                                  主函数的存在,仅为该类是否需要独立运行,若不需要,主函数不用定义

C++之菜鸟入门概念B

标签:权限   ring   end   ati   执行   地址   交换   入门   定义   

原文地址:http://www.cnblogs.com/fire-burn-game/p/6115952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!