zoukankan      html  css  js  c++  java
  • c++构造函数等等

    1. 用参数初始化表进行初始化

    Box::Box(int h,int w,int len):height(h),width(w),length(len){ }
     
    2. 使用默认参数的构造函数
    class里面声明Box(int h=10,int w=10,int len=10);
     
    class外定义Box::Box(int h,int w,int len)
    {
    height=h;
    width=w;
    length=len;
    }
     
    3.  对象数组
    Box a[3]={
    Box(10,12,15),
    Box(12,12,15),
    Box(10,12,14)};
     
    4.  指向对象成员函数的指针有三个方面要匹配   3.所属的类要一样
    void (*p)();     //p是指向void型函数的指针变量
    p=fun;     //p指向fun函数
    (*p)();     //调用fun函数     
              
           定义指向公用成员函数的指针变量
    数据类型名(类名:: *指针变量名)(形参列表);
      void (Time::*p) ();//定义指向成员函数的指针变量
                      p=&Time::get_time;//赋予函数地址给指针
     
          (t1.*p)();//调用对象t1中的get_time
     
     
    5.对象的复制
    Box box2(box1);
     
     
    6.静态数据成员是在类外定义的            是在对象外开辟一 空间的
    int Box:: height=10;         //不能使用参数初始化表对静态数据成员进行初始化。
            静态数据成员可通过对象引用,也可通过类进行引用。
     
    !!!!!!!! 公用静态数据成员于=与全局变量的不同!!!!!!!!!!!
    静态数据成员的作用域只限于定义该类的作用域内(如果在一个函数内定义一个类,那么
    其中静态数据成员的作用域就是此函数内。在此作用域内,可以通过类名和域运算符引用
    静态数据成员,而不论类对象是否存在。
     
     
    7.静态成员函数(无this指针)    
    c++中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。 P105
     
     
     
    8.类模板
    template<class 类型参数名>                P113
    定义用法  Compare <int> cmp1(4,7);
     
    在模板外定义:
    template<class numtype>
    numtype  Compare  <numtype>::max()
    {
    return(x>y)?x:y;
    }
     
     
     
  • 相关阅读:
    Trapping Rain Water
    Construct Binary Tree from Preorder and Inorder Traversal
    Flatten Binary Tree to Linked List
    Permutations II
    Unique Paths II
    Path Sum II
    Unique Binary Search Trees II
    evdev module-----uinput.py
    evdev module-----events.py
    evdev module-----device.py
  • 原文地址:https://www.cnblogs.com/humanchan/p/3020872.html
Copyright © 2011-2022 走看看