C++之“类与对象”

类与对象的概念
一、类的特点:
    1、只是一种类型;
    2、类中的数据成员不占内存;
    3、定义数据成员时;
    4、不能定义该类类型的变量;

二、对象成员
    1、public:存取该类成员以及所有对象;
    2、protected:存取该类及其子类成员;
    3、private:存取该类的成员;


构造函数与析构函数
一、构造函数的特点
   1、函数名必须与定义他的类同名;
    2、没有返回值,如果在构造函数前见void是错误的;
    3、被声明定义为公有函数;
    4、在建立对象时由系统自动调用;
    5、可重载,定义多个构造函数;

二、构造函数与其他函数的区别
    1、命名是必须和类名完成相同,而一般函数则不能和类名相同 ;
    2、没有返回值,且不用void来修饰,而一般函数没有返回值则必须用void来说明;
    3、在创建对象的时候才会被便以其自动调用, 而一般函数在程序执行到它的时候别调用;
    4、当没用定义构造函数的时候,编译器会提供一个默认的构造函数,而一般的函数不会;

三、析构函数的特点
    1、没有任何参数,不能被重载;
    2、没有返回值;
    3、在类名前面加上一个逻辑非运算符“~”;

四、拷贝构造函数与构造函数的区别
    1、用一个常量初始化新建立的对象时,调用构造函数,不调用拷贝构造函数;
    2、建立对象时,构造函数与拷贝构造函数有且仅有一个被调用;
  

友元
一、友元关系的特点
    1、友元关系是不能传递的,如:B类是A类的友元,C类是B类的友元,C类和A类之间如果没有声明,就没有任何友元关系;
    2、友元关系是单向的,如:声明B类是A类的友元,B类的成员函数就可以访问A类的私有和保护数据,但是A类的成员函数却不能访问B类的私有和保护数据;

二、友元关系的优点
    提高了数据的共享性,加强了函数与函数之间,类与类之间的互相联系,大大提高了程序的效率。

三、友元关系的缺点
    破坏了数据隐藏和数据封装,导致程序的可维护性变差。


对象的内存空间分布
一、对象内存空间的释放
    1、全局对象在程序结束时释放;
    2、局部对象在函数调用结束的时候释放;
    3、动态对象需要使用 delete语句释放;
    4、对象成员函数在所有对象生命周期结束时自动释放;
   

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。