天天看点

c++学习-基础-类的成员函数

/*
	Description: 类的成员函数
	函数原型必须在类中定义
	函数体
		1.在类中定义函数体
		2.在类外定义函数体
	this指针
	const成员函数 
	
	
	C++在函数声明时,后面跟个const是限定函数类型为常成员函数, 常成员函数是指不能bai改变成员变量值的函数。
	
	例如“double d() const;”,其中的其中的“const”限定了d()函数中不能有任何改变其所属对象成员变量值的功能,如果有则会在编译阶段就报错。

	它的主要作用就是能使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明。在需要增加可读性和减少逻辑出错的情况下,就可以用这种形式。
*/
#include<iostream>

using namespace std;

int sum(int x,int y)
{
	return x+y;	
} 

//销售 项目 
class Sales_item		//class要变成对象才可以使用! 
{
public:
	double avg_price() const;	//函数原型声明 
	bool same_isbn(const Sales_item &rhs) const;		 //这样的形参是是什么意思?const  Sales_item是变量的类型  引用 
//private:
public:
	string isbn;//书号
	unsigned units_sold;//数量
	double revenue; 
};

double Sales_item::avg_price() const
{
	if(this->units_sold != 0)
		return (this->revenue/this->units_sold);
	else
		return 0;
}

bool Sales_item::same_isbn(const Sales_item &rhs) const	
{
	//      当前对象 	
	return this->isbn == rhs.isbn;
}

int main()
{
	//类class   对象 
	Sales_item item1,item2;
	
	item1.isbn = "0-201-78345-x";
	item1.units_sold = 10;
	item1.revenue = 300.00;
	
	cout<<item1.avg_price()<<endl;
	
	item2.isbn = "0-201-78345-x";
	item2.units_sold = 2;
	item2.revenue = 70.00;
	
	cout<<item2.avg_price()<<endl;
	
	if(item1.same_isbn(item2))
	{
		cout<<"这两个sales item是同一种书!"<<endl;
	}else{
		cout<<"这两个sales item不是同一种书!"<<endl;
	}

	
	return 0;
}
           

继续阅读