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);

    }

     

     

     

  • 相关阅读:
    BZOJ3992 [SDOI2015]序列统计 【生成函数 + 多项式快速幂】
    BZOJ3993 [SDOI2015]星际战争 【二分 + 网络流】
    BZOJ3325 [Scoi2013]密码 【manacher】
    BZOJ3534 [Sdoi2014]重建 【矩阵树定理】
    BZOJ3507 [Cqoi2014]通配符匹配 【哈希 + 贪心】
    BZOJ2285 [SDOI2011]保密 【01分数规划 + 网络流】
    BZOJ4556 [Tjoi2016&Heoi2016]字符串 【后缀数组 + 主席树 + 二分 + ST表】
    BZOJ4817 [Sdoi2017]树点涂色 【LCT + 线段树】
    BZOJ1195 [HNOI2006]最短母串 【状压dp】
    malloc的使用、用malloc动态分配内存以适应用户的需求的源代码实例
  • 原文地址:https://www.cnblogs.com/sky-z/p/9500802.html
Copyright © 2011-2022 走看看