zoukankan      html  css  js  c++  java
  • 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);   //错误,因为非静态成员不能作为默认实参
  • 相关阅读:
    内置函数,闭包。装饰器初识
    生成器
    百度ai 接口调用
    迭代器
    HashMap与ConcurrentHashMap的测试报告
    ConcurrentHashMap原理分析
    centos 5.3 安装(samba 3.4.4)
    什么是shell? bash和shell有什么关系?
    Linux中使用export命令设置环境变量
    profile bashrc bash_profile之间的区别和联系
  • 原文地址:https://www.cnblogs.com/xiaodangxiansheng/p/11619565.html
Copyright © 2011-2022 走看看