zoukankan      html  css  js  c++  java
  • c++ 类和对象

    一些定义:

      类: 具有相同属性和行为的一组对象的集合;

      对象:由一组属性和一组行为构成;

        属性:用来描述对象的静态特征的数据项;

        行为:用来描述对象的动态行为的操作序列;

        类是对象的抽象, 对象是类的具体实例.类是抽象的, 不占内存, 对象是具体的, 是占存储空间的

      内联函数: 从源代码层看,它具有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。

    类的声明;

    大多数用关键字 class , 其实也可以用关键字 stuct;

    基本上差不多, 只是在缺省 public 和 private 时

    class默认是private 而struct 默认是public ;

    c++推荐用 class, 符合c++风格;

    class / struct 类名

     {
       public:
         公用的数据和成员函数和成员函数     // ( 外部接口,可以在类外使用 )
       protected:
         保护的数据和成员函数
       private:
         私有的数据和成员函数
    }
     
     
    定义对象有三种方法:
      1 先定义类,再定义对象;
      2 定义类的同时定义对象;
      3 不出现类名, 直接定义对象;     // (  直接定义对象,在C++中是合法的、允许的,但却很少用,也不提倡用:) 
     
    类的成员函数
      1 它是属于一个类的成员,出现在类体中;
      2 它可以被指定为private(私有的)、public (公用的) 或 protected(受保护的);
      3 在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数;
      4 如果类中没有成员函数的话就和c语言中的结构体一样了;
      5 inline成员函数
         在类体中定义的成员函数的规模一般都很小,而系统调用函数的过程所花费的时间开销相对是比较大的。调用一个函数的时间开销远远大于小规模函数体本身中全部语句的执行时间,为了减少时间开销,就可以用iinline来限定,如果在类体中定义的成员函数中不包括循环等控制结构,C++系统会自动将它们作为内置(inline )函数来处理;如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内置(inline )函数,调用这些成员函数的过程和调用一般的过程是相同的。如果想将这些成员函数指定为内置函数,应当用inline作显式声明;
      6 在类外定义成员函数时,必须在函数名前面加上类名,予以限定(qualifed),“∷”是作用域限定符 (field qualifier) 或称作用域运算符,用它声明函数是属于哪个类的;
    关于 :: 的一些问题
      如果在作用域运算符“∷”的前面没有类名,或者函数名前面既无类名又无作用域运算符“∷”,如 ∷display( ) 或 display( ),则表示display函数不属于任何类,这个函数不是成员函数,而是全局函数,即非成员函数的一般普通函数;
     
    对象成员的引用
      1 通过对象名和成员运算符访问对象成员;
        访问对象中成员的一般形式为 : 对象名.成员名  
      2 通过指向对象的指针访问对象成员;
      3 通过对象的引用变量来访问对象成员;
        
      
  • 相关阅读:
    MySQL my.cnf详解
    函数:sleep-exit-wait
    fork-小实验
    OS-进程调度
    CET-4流程
    SDK和API的区别
    生活-金钱管理-不是理财
    算法设计与分析:Strassen矩阵乘法
    力扣:二进制加法求和
    算法设计与分析:大整数乘法
  • 原文地址:https://www.cnblogs.com/jian1573/p/2787163.html
Copyright © 2011-2022 走看看