29
2019
12

c++友元(friend)函数

友元函数要点


友元函数不是类的成员函数,但是仍可以访问该类的私有成员。友元函数可以是一个外部函数,也可以是另一个类的成员函数。

29
2019
12

c++复合语句(compound statement)

复合语句(compound statement) 是指用花括号括起来的(可能为空)语句和声明的序列,也叫做块(block),一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块里访问。通常,名字在有限的区域内可见,该区域从名字定义处开始,到名字所在(最内层)块的结尾处为止。

29
2019
12

c++简单语句

通常情况下,语句是顺序执行的,但除非是最简单的程序,否则仅有顺序执行远远不够。因此, C++语言提供了一组 控制流(flow-of-control) 语旬以支持更复杂的执行路径。

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. 抽象类    包含纯虚函数的类成为抽象类,用于为派生类提供一个基本框架和一个公共的对外接口,派生类(或