C++ 类定义

1、在类内部定义的函数默认为inline;
   在类内部声明成员函数是必须得,定义成员函数是可选的。
 
2、将关键字加在形参表之后,可以将成员函数声明为常量
   const 必须同时出现在声明和定义中。

3、可以声明一个类,而不定义它
    class screen;
    向前声明,类screen是一个不完全类型
    不完全类型只能以有限方式使用:


       不能定义该类型的对象
       只能定义指向该类型的指针及引用
       用于声明(而不是定义)使用该类型作为形参类型、返回类型的函数。

4、返回*this
    在普通非const成员函数中,this的类型是一个指向类类型的const指针,可以改变this所指向的值,但不能改变this所保存的地址
    在const成员函数中,this是一个指向const类类型的const指针
  
    const成员函数只能返回*this作为一个const引用。
    可以在非const对象上调用调用const成员函数,但不能在const对象上调用普通成员

5、基于成员函数是否为const,可以重载一个成员函数
    const对象只能使用const成员
    非const对象可以使用任一版本,但const版本是一个更好地匹配
  
6.默认构造函数
    为所有形参提供默认实参的构造函数也定义了默认构造函数
    一个类哪怕只定义了一个构造函数,编译器夜不会再生成默认构造函数
  
7.使用默认构造函数
    Sales_item myobj;
    Sales_item myobj=Sales_item();
  
8.可以用耽搁实参来调用的构造函数定义了从 形参类型 到 该类型  的隐式转换。

   通过将构造函数声明为explicit,来防止在需要隐式转换的上下文中使用构造函数。
   explicit关键字只能用于类内部的构造函数声明上,类外部的定义不在重复。
   单形参的构造函数应该为explicit,除非有明显的理由想要定义隐式转换

9.友元机制  允许一个类将对其非公有成员的访问权授予指定的函数或类。
    friend class Window_Mgr;
    friend void f();
    friend std::istream& operator>>(std::istream&,Sales_item&);
  
10.static 成员函数
    a.在类外部定义static成员时,无须重复指定static保留字
    b.static函数没有this指针 不能为const  不能为虚函数
  
  
11.static成员
    static数据成员必须在类定义体外部定义
    不是通过构造函数进行初始化,而是在定义时初始化
  
    特殊的整形const static成员可以在类定义体中进行初始化
     static const int period=30;
   
    static 数据成员可以用作默认实参
  
 
  

posted on 2011-10-19 19:35  一指流砂  阅读(5197)  评论(0编辑  收藏  举报

导航