C++Pirmer 类的成员函数和重载
来源:互联网 发布:青岛邮箱数据 编辑:程序博客网 时间:2024/05/17 07:51
1.定义成员函数的函数体:类的成员函数必须在类定义中声明,可以在类外定义。在类内定义的成员函数默认为内联函数。类的成员函数可以访问该类的private成员。类的定义应该放在type.h头文件中,类的成员函数的定义应该放在名为type.cc的文件中,后者必须包含前者。
class Sales_item{public: double avg_price() const; bool same_isbn(const Sales_item &rhs) const { return isbn == rhs.isbn;} Sales_item(): units_sold(0),revenue(0.0) {}private: std::string isbn; unsigned units_sold; double revenue;};
2.成员函数的调用:在编译器中存在隐含的形参。
total.same_isbn(trans);Sales_item::same_isbn(&total, trans);
this指针的引入:实际上成员函数是这样的。this是指向const对象的指针,该成员函数不能修改调用他的对象,称为常量成员函数。函数被声明为常量成员函数,那么形参表后要加const。
bool Sales_item::same_isbn(const Sales_item *const this, const Sales_item &rhs) const{return (this->isbn == rhs.isbn);}
3.在函数体外定义类成员函数时,要指明他们是类的成员。
double Sales_item::avg_price() const{ if(units_sold) return revenue/units_sold; else return 0;}
4.构造函数: Sales_item(): units_sold(0),revenue(0.0) {}
形参表和函数体均为空,默认构造函数不需要形参,这时类的成员初始化为0,isbn默认隐式的初始化为空串。
5.重载函数:出现在相同作用域中的两个函数,具有相同的名字,而形参不同,则称为重载函数。重载函数和重复声明是不同的。
局部声明函数会屏蔽外部的重载函数。
void print(double);void foobar(int ival){ void print(int); print(3.14);}
6.函数匹配:将函数调用和重载函数集合中的一个函数相关联的过程。
候选函数:找到在调用点上声明可见的与被调函数同名的函数。
可行函数:函数的形参个数相同,实参类型必须和形参类型匹配或可隐式转换。
最佳匹配:不能存在二义性,否则需要强制类型转换。最佳匹配分等级:精确匹配,通过类型提升匹配,通过标准转换匹配,通过类类型转换匹配。
7.重载和const对象:仅当形参是引用或指针时,形参是否为const才有影响。
Record lookup(Phone);Record lookup(const Phone);//重复声明Record lookup(Acount&);Record lookup(const Acount&);//重载
0 0
- C++Pirmer 类的成员函数和重载
- 【C++】成员函数的重载,覆盖,隐藏
- 类的const和非const成员函数的重载
- 类的const和非const成员函数的重载
- 类的const和非const成员函数的重载
- 类成员函数的重载、覆盖和隐藏的区别
- 类的const和非const成员函数的重载
- 类成员函数的重载、覆盖和隐藏的区别
- 类的const和非const成员函数的重载
- 类的const和非const成员函数的重载
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、重写、和覆盖区别
- 类成员函数的重载、覆盖和隐藏区别?
- mac 终端 常用命令
- tomcat在linux下的多host配置
- 修改资费名称的其它校验(Jsp)
- chm文件打不开的原因
- 使用win8应用有感
- C++Pirmer 类的成员函数和重载
- google code 上源代码的下载方法 【转载】
- Win81的应用初体验
- Python3.x和Python2.x的区别
- ATM柜员机模拟程序
- CocoaPods安装和使用教程
- cookie 与session区别
- delphi 托盘程序
- 传智播客,一个感动我的地方