• c++ Primer 第七章不熟悉知识点总结


    1、在类中,编译器分两步处理类,首先编译成员的申明,然后才轮到成员的函数体,所以我们可以随意的使用类中的成员,而不用在乎他在类中位置。

    2、构造函数就是控制其对象初始化的过程,构造函数可以像重载函数一样定义多个。构造函数不能被const。

    C++中的结构体与类的区别: (1)class中默认的成员访问权限是private的,而struct中则是public的。 (2)class继承默认是private继承,而从struct继承默认是public继承。

    结构体的作用

    • 在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。
    • 结构体在函数中的作用不是简便,最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

    3、

    1 struct sale()
    2 {
    3   sale(const string &s, unsigned n,  double p):bookNO(s),units(n,revenue(p*n))
    4 {
    5 } // 构造函数,
    6 string bookNO = "";
    7 unsigned units = 0;
    8 double  revenue = 0.0;
    9 }

    这里函数名和函数体之间的:后面的作用是初始化,相当于隐式的初始化了下面的变量。

    4、对于类的静态成员,因为不属于任何一个对象,所以初始化并不在构造函数中,所以需要我们自动的去初始化静态成员。我们在类的外面初始化静态成员,且只能初始化一次。

    类的静态成员可以用于某些场景而普通成员不可以

    1     static Accout temp1;   //正确,静态成员可以是不完全类
    2     Accout *temp2;           //正确,指针成员可以是不完全类
    3     Accout temp3;          //错误,数据成员必须是完全类型
    1     static double initRate;
    2     double interest;
    3     void  verify1(double = initRate);   //正确,因为静态成员可以作为默认实参
    4     void  verify2(double = interest);   //错误,因为非静态成员不能作为默认实参
  • 相关阅读:
    session
    CSS3盒子模型
    由“从按下回车到网页显示”粗谈网页优化
    springMVC之拦截器
    设置Webdriver启动chrome为默认用户的配置信息
    [Swift]LeetCode498. 对角线遍历 | Diagonal Traverse
    [Swift]LeetCode497. 非重叠矩形中的随机点 | Random Point in Non-overlapping Rectangles
    [Swift]通天遁地Swift
    [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays
    [Swift]LeetCode995. K 连续位的最小翻转次数 | Minimum Number of K Consecutive Bit Flips
  • 原文地址:https://www.cnblogs.com/xiaodangxiansheng/p/11619565.html
Copyright © 2020-2023  润新知