类的组成
2023年12月20日 2023年12月21日
- |
---|
数据成员 |
函数成员 |
友元 |
类型成员 |
静态成员 |
成员访问运算符
- | |
---|---|
点运算符 | 左操作数是类对象 |
箭头运算符 | 左操作数是类类型指针 |
与类有关的非成员函数
这些函数不作为类的接口,但与类相关. 建议与类的定义和实现放在一处
如果需要访问类的private和protected成员,则需要将其定义为类的友元
1struct Sales_data 2{ 3 string isbn() const { return bookNo; } 4 string bookNo; 5}; 6 7istream &read(istream &is, Sales_data &item) 8{ 9 is >> item.bookNo; 10 return is; 11} 12 13ostream &print(ostream &os, const Sales_data &item) 14{ 15 os << item.isbn(); 16 return os; 17}
前向声明
仅声明类的存在, 而未给出类的定义. 此时类是一个不完全类型
- 可以在类中定义不完全类型的指针或引用
- 不可以在类中定义不完全类型的数据成员
- 可以声明不完全类型作为返回类型和形参类型的函数,但不能给出定义