C++ 基础语法&特性(2)-面向对象之封装

C++相关文章

先说明一下声明变量和指针变量的几种情况:

/*
    声明对象
    底层类型和自定义类类型都可以,如:int a(5); 
*/
类型 变量名
类型 变量名(参数表)
类型 变量名=类型([参数表]) 

//使用指针,动态内存分配 
类型 *指针名    //空指针,但可调用与成员无关的函数 
类型 *指针名=new 类型    //若未定义无参构造函数,则成员不初始化 
类型 *指针名=new 类型([参数表]) //空()也会对成员初始化 
类型 *指针名=new 类型[长度]
//有new必有delete,谁new谁delete 
delete 指针名
delete []指针名 
 

 接下来介绍定义类的语法:

  对象结构
    对象名、属性、操作
  类模型结构
    类名、属性、操作

class 类名{
    public/protected/private:    //访问范围说明符,默认为私有
        static 类型 成员变量;     //静态类型,所有对象共享1份,程序结束后回收
        类型 成员变量;    //不可初始化
        本类类型 *成员变量;    //可以是本类指针 or 引用 
        其他类类型 成员变量;//可为其他类的对象,不可是本类对象,若包含其他类,则本类称为【封闭类】
        /*
            保持常量性 
            常量成员必须初始化,常量对象无法调用对象的非常量方法和修改成员的值 
            常量方法,与普通成员函数同名同参不影响,非常量对象亦可调用常量方法
            可调用静态成员 
        */
        const 类型 常量名;    //常量成员
        返回类型 方法名([参数类型列表]) const;
        
         
        返回类型 方法名A([参数类型表]);    //只声明成员函数 
        返回类型 方法名([参数类型表]){
            //声明并定义成员函数,隐式内联 
        }
 ...更多访问范围说明符合更多成员变量 };
//要有分号 类名::静态成员变量=初值;  //静态成员变量可以初始化(必须在类体外) 返回类型 类名::方法名A(形参表){ //在类内声明函数 //类体外部再定义函数体 //若想内联,需在声明或定义时显式写inline } 类名::静态成员 或 对象名.静态成员//静态成员可通过类也可通过对象 变量名.成员名; // 普通对象通过.访问 类名 *指针名=new 类名; //指针通过->访问
posted @ 2021-01-26 21:44  寻觅~~  阅读(104)  评论(0编辑  收藏  举报