c++学习笔记-类1

本文介绍了C++中类的定义和使用,包括公有成员和私有成员的访问控制,通过具体的Person类和Sales_item类展示了如何创建对象并调用其成员函数。Person类用于存储个人姓名和地址,而Sales_item类用于处理图书销售记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//类定义
#include<iostream>
#include<string>

using namespace std;
//公有的成员提供了接口,私有的访问标号定义的类内部的数据,并且进行了隐藏,体现了信息的隐藏
class Person  //要定义一个类(类其实是封装),就写class,类的内部可以有成员,也可以没有成员。
{
	//成员,数据成员或者是函数成员
	//数据成员都定义成私有的,没写默认是私有的
    //这个人有两个数据成员
    //访问标号实施抽象和封装:public  private protected
public:
	Person(const std::string &nm, const std::string &addr) :name(nm), address(addr)
      {
		//  name = nm;
		//  address = addr;
       }
    std :: string getName()
      {
	return name;
      }
    std::string getAddress()
      {
		  return address;
      }
private:
	std:: string  name;//数据成员是公有的,函数成员是公有的
    std:: string  address;//私有的成员只能在内部使用

};

class Sales_item
{

public:
	Sales_item(std::string &book, unsigned units, double amount)
		:isbn(book), units_sold(units), revenue(amount)
	{
	}

	double avg_price() const//平均利润
	{
		if (units_sold)
			return revenue / units_sold;
		else
			return 0;
	}

	bool same_isbn(const Sales_item &rhs) const
	{ 
		return isbn == rhs.isbn;
	}

	void add(const Sales_item &rhs)
	{
		units_sold += rhs.units_sold;
		revenue += rhs.revenue;
	}

private:
	std::string isbn;//书号
	unsigned units_sold;//销售数量
	double revenue;//总金额


};



int main()
{
	Person a("nill","bill");//保存在私有的数据成员里
	a.getName();
	a.getAddress();

	cout << a.getName() << "," << a.getAddress() << endl;//显示nill和bill

	Sales_item x(string("0-399-82-477-1"), 5, 20);
	Sales_item y(string("0-399-82-477-1"), 6, 48);
	cout << x.avg_price() << endl;
	if (x.same_isbn(y))
		x.add(y);
	cout << x.avg_price() << endl;
	cout << y.avg_price() << endl;
	cout << "HELLO LEI" << endl;
	system("pause");
	return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值