zoukankan      html  css  js  c++  java
  • C++网易云课堂开发工程师-头文件与类声明

    区分Class的分类有两大经典,1包含指针的(complex),2不包含指针的(string)。

    1.complex

    类分为:数据成员部分(在内存中占有数据成员的大小,数据可能会有很多份)与函数部分(只有一份

    2.string

    类中:仅包含一个指针(这里理解为这一个指针指向,数据成员),创建出的每一个数据成员的大小实际上仅包含一个指针。

     

    3.C++ programs代码基本形式

    .h(header files) Classes Declaration(声明)

    .cpp()

    .h()标准库,引入标准库采用尖括号的形式。

    4.防卫式声明(使得含入include的次序不受任何影响)

    #ifndef  _COMPLEX_

    #define  _COMPLEX_

    #endif

    5.头文件的布局

    #ifndef _COMPLEX_

    #define _COMPLEX_                                                                               防卫式声明

    ----------------------------------------------------------------------

    #include <cmath>

    class ostream;

    class complex;   

    complex& _doapl(complex* ths, const complex& r);                               前置声明

    ----------------------------------------------------------------------

    class complex{                                                                                           类声明

    ....

    };               

    ----------------------------------------------------------------------

    complex::function...                                                                                   类定义 

     6.class的声明(declaration)

    template<typename T>                                                                             模板的引入

    class complex{                                                                                           class head

      public:

       complex(T r = 0, T i = 0): re (r), im (r) {}

       complex& operator += (const complex&);

          T real() const {return re;}

       T imag() const {return im;}

      private:

       T re, im;

       friend complex& _doapl (complex*, const complex&); 

    };

    -------------------------------------------------------------------------

    {

      complex<double> c1(2.5,1.5);

      complex<int> c2(2,6);

    }

     

     

     

  • 相关阅读:
    86. Partition List
    2. Add Two Numbers
    55. Jump Game
    70. Climbing Stairs
    53. Maximum Subarray
    64. Minimum Path Sum
    122. Best Time to Buy and Sell Stock II
    以场景为中心的产品设计方法
    那些产品经理犯过最大的错
    Axure教程:如何使用动态面板?动态面板功能详解
  • 原文地址:https://www.cnblogs.com/sky-z/p/9500802.html
Copyright © 2011-2022 走看看