zoukankan      html  css  js  c++  java
  • C++ 类

    成员函数:

    在类内部定义的函数默认为inline。也可以在类定义体外部的函数定义上指定inline,但其定义通常应放在有类定义的同一头文件中。

    内联函数和宏的区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。内联函数提高了执行效率。

    内联函数也有一定的局限性。就是函数中的执行代码不能太多了,如果,内联函数的函数体过大,一般的编译器会放弃内联方式,而采用普通的方式调用函数。

    类是用struct关键字定义的,则在第一个访问标号之前的成员是公有的;如果类是用class关键字定义的,则这些成员是私有的。

    析构函数可以是内联函数。

    2、

    class Screen;//前向声明

    在screen声明之后,定义之前,screen是一个不完全类型,不能定义对象,只能用于定义指向该类型的指针及引用

    定义类不会进行存储分配,定义对象时,将为其分配存储空间。

    3、为什么类的定义以分号结束?因为定义之后可以接一个对象定义列表。

    class Screen {……}s1,s2;

     4、单个参数的构造函数如果不添加explicit关键字,会定义一个隐含的类型转换(从参数类型转换到自己);添加explicit关键字会消除这种隐含转换。

    class Sales{

      public:

        explicit Sales(istream &is);

    };

    item.same_isbn(cin);//error

    item.same_isbn(Sales(cin));//ok

  • 相关阅读:
    Oracle序列更新
    ssh服务器终端乱码
    iTerm2常用的快捷键
    原来 Set 集合也可以排序
    Java 单例
    java后台技术
    网易考拉规则引擎平台架构设计与实践
    HBase最佳实践(好文推荐)
    如何通俗的解释云
    写的不错的一篇云数据库的文章
  • 原文地址:https://www.cnblogs.com/relaxgirl/p/3570952.html
Copyright © 2011-2022 走看看