4.2 - <7>类

2020-05-04  本文已影响0人  李伟13
double Sales_data::avg_price() const{

}

::作用域运算符,用来说明该函数被声明在类Sales_data里

什么是inline函数?

<6.5.2内联函数和constexpr函数>

内联函数在类内定义成员函数(隐式的),在类外定义成员函数必须加inline才能为内联函数(不默认)

class temp{
  public:
     int  amount;

  //构造函数
   temp(int amount){
      this->amount = amount;
   }
  
  //普通成员函数,在类内声明时前面可以不加inline
  void print_amount()
}

//在类外定义函数体,必须在前面加上inline关键字才能为内联
inline void temp:: print_amount(){
  cout << amount << endl;
}

参考博客

https://www.cnblogs.com/chenwx-jay/p/inline_cpp.html

常量成员函数

std::string isbn() const{return boolkNo;}

默认情况下,this是一个隐性的指向类类型非常量版本的常量指针.T *const this.故不能指向常量的.
C++的做法是吧const放在成员函数的后边,成为常量成员函数.
常量成员函数不能修改类的数据成员

<7.1.4 构造函数>

Sales_data(const std::string &s):bookNo(s),units_sold(0),revenue(0){ }
通过 : 完成构造函数初始值列表的创建

<7.2 访问控制与封装>

访问说明符

public
private

使用友元允许其他类或函数访问它的非公有成员.
可以是类的友元,也可以是成员函数的友元

class 与 struct关键字定义类的唯一区别

struct:
定义在第一个访问说明符前的成员是public的
class
定义在第一个访问说明符前的成员是private的

封装的优点
上一篇 下一篇

猜你喜欢

热点阅读