23
2019
09

C++ 常成员函数手册

C++ 常成员函数常常把对象的成员函数分为两类:修改对象状态的成员函数、获取对象状态的成员函数。-常成员函数就是一种获取对象状态的成员函数,并且不能改变对象的状态(也就是不能修改对象的成员的值)。形式:class A { ...    void f() const {...} }或class A {...     void f() con
23
2019
09

C++ 静态成员手册

  C++ 静态成员

 在C++中,采用静态成员来解决同一个类的对象共享数据的问题。类的静态成员分为静态数据成员和静态成员函数。


1. 静态数据成员

    静态数据成员在一个类中只分配一次存储空间,也就是一个类的所有对象的静态数据成员共享一块存储空间。

    在计数时往往使用的就是静态数据成员。

2. 静态成员函数

    静态成员函数只能访问静态成员(包括静态数据成员和静态成员函数),并且静态成员的访问也要遵循类的访问控制。

    静态成员函数没有隐藏的this指针参数,因为静态成员函数对静态数据成员进行操作,而静态数据成员是某类对象共享的,它们只有一个拷贝,因此,静态成员函数不需要知道某个具体对象。

23
2019
09

c++操作符重载手册

c++操作符重载是为了运算更加符合我们在数学上的使用习惯。
23
2019
09

C++ 继承方式手册

C++ 继承方式

1. public


    1)基类的public成员,在派生类中成员public成员


    2)基类的protected成员,在派生类中成员protected成员


    3)基类的private成员,在派生类中成员不可直接使用的成员


2. protected


    1)基类的public成员,在派生类中成员protected成员


    2)基类的protected成员,在派生类中成员protected成员


    3)基类的private成员,在派生类中成员不可直接使用的成员


3. private


    1)基类的public成员,在派生类中成员private成员


    2)基类的protected成员,在派生类中成员private成员


    3)基类的private成员,在派生类中成员不可直接使用的成员


22
2019
09

C++ 继承方式的调整手册

  关于C++ 继承方式的调整,在任何继承方式中,除了基类的private成员外,都可以在派生类中分别调整其访问控制。

调整格式

    [public: | protected: | private: ] <基类名>:: <基类成员名>;



class A
{
  public:
    void f1();
    void f2();
    void f3();
  protected:
    void g1();
    void g2();
    void g3();
}
 
class B: private A
{
  public:
    A::f1;//把f1调整为public
    A::g1;//把g1调整为public,是否允许弱化基类的访问控制要视具体的实现而定
  protected:
    A::f2;//把f2调整为protected
    A::g2;//把g2调整为protected
}
 
class C: class B
{
  public:
    void h()
    {
        f1(); f2(); g1(); g2();//OK
        f3(); g3(); //Error,此时f3,g3是基类B的private成员
    }
}

21
2019
09

C++学习大纲:C++ 消息(成员函数调用)的动态绑定

1. 消息的多态性    C++把类看作类型,把以public方式(严格讲:只有public方式)继承的派生类看做基类的子类型,这样就使得在C++面向对象程序中存在下面的三种多态:    1)对象类型的多态:派生类对象的类型既可以是派生类,也可以是基类。    2)对象标志的多态:基类的指针或引用可以指向或引用基类对象,也可以指向或引用派生类对象。(但是派生类的指针只能指向或引用派生类对象,不能指向或引用基类对象,可以理解为可以将多的给
20
2019
09

C++ 纯虚函数和抽象类

纯虚函数    定义格式:在函数原型后面加上符号 “=0”   class A {     ...   public:      virtual int f()=0;  }2. 抽象类    包含纯虚函数的类成为抽象类,用于为派生类提供一个基本框架和一个公共的对外接口,派生类(或
19
2019
09

c++模板介绍

1. 类属性    类属性: 一个程序实体能对多种类型的数据进行操作或描述的特性。    类属函数:一个函数能对不同类型的数据(参数)完成相同的操作。    类属类:一个类的成员类型可变。2. 函数模板    动态语言中在定义参数是不用指定类型,所以本身就具有类属性。    C++时一种静态类型语言,可以通过宏定义、指针类型参数、函数模板等方式实现类属性。3. 指针类型参数   
18
2019
09

c++标准模板库

1. 容器    容器用于存储数据元素,它们是由长度(元素个数)可变的同类型的元素所构成的序列,如向量、集合、栈、队列等。    vector<元素类型>:用于快速定位(访问)任意位置上的元素以及主要在元素序列的尾部增加/删除元素的场合。在vector头文件中定义,用动态数组实现。    map<关键字类型,值类型> 和 multimap<关键字类型,值类型>:元素按关键字排序,multimap中不同