zoukankan      html  css  js  c++  java
  • 多态性,友元与静态成员 基础知识小结

    1.

    功能晚绑定时运行时完成。

    class Point

    {

    public:

      virtual double Area(){}

      ...

    }

    class Circle:public Point

    {

    public:

      double Area(){}    //仍为虚函数,重定义时virtual可写也可不写

    }

    double CalcArea(Point &ref){}

    //程序运行时根据ref所引用的对象调用该对象的成员函数。

    虚函数不能是友元,静态函数,不能是内联,构造函数。可以是析构函数。

    2.

    纯虚函数:

    virtual 函数类型 函数名() = 0;

    各派生类根据要求再重新定义这些虚函数。

    抽象类(至少含一个纯虚函数)只能作为其它类的基类,不能建立对象,抽象类中可以定义普通函数。

    3.

    友元:

    class Date;

    class Clock;

    class Clock

    {

    public:

      friend void Display(Clock &);

    }

    class Date

    {

    public:

      friend void Clock::Display(Date &);

    }

    也可以友元类:

    friend 类名;

    4.

    静态成员:

    static int sum;

    static int Display();

    它为类的所有对象共享,在所有对象外单独开辟空间,即使不定义对象,也分配空间(编译时)。

    静态成员初始化:

    数据类型 类名::静态数据成员名 = 初值;

    不能再类声明中初始化。

    静态成员函数不能默认访问本类的非静态成员,没有this指针。

    访问方式:

    class Student;

    Student s1;

    Student::sum ;

    或s1.sum ;

  • 相关阅读:
    如何用C语言写一个基于服务器和客户端(TCP)
    如何把C++的源代码改写成C代码?
    可自定义的超链接控件
    一个XP风格的下拉分离按钮
    GroupControl
    带有工具提示和/或位图资源的按钮
    动态更改按钮图像
    一键启用/禁用一组控件
    粘性Snap-to-Center控制
    WinForm ImageButton
  • 原文地址:https://www.cnblogs.com/ht-beyond/p/4222962.html
Copyright © 2011-2022 走看看