C++中的类

类是属于用户自定义的数据类型, 并且该类型的数据具自己的变量和可以实现的函数, 也就是类中说描述的方法。通常来说, 一个类的定义包含两部分的内容, 一是该类的属性, 另一部分是它所拥有的方法
例如,可以以股票购买为例,要表示一个公司的股票状况,就要表示出公司持有股票,每股的价格,是否有售出和买入的情况;要定义stock类的公有接口,定义一个公司的股票信息。我们将存储下面的信息,也就是成员属性:

公司名称company;
所持股票的数量shares;
每股的价格share_value;
股票总值 total_value;

还有的部分就是可以实现的函数,也就是成员方法:

void acquare(const std::string & co,long n,double pr);
void buy(long num,double price);
void sell(long num,double pricce);
void update(double price );
void show();    

接下来定义股票类Stock。一般来说,类规范由两个部分组成。
1.类声明:以数据成员的方式描述数据部分,以成员函数(被称为方法)的方式描述公有接口。

2.类方法定义:描述如何实现类成员函数。
简单地说,类声明提供了类的蓝图,而方法定义则则提供了细节。
===========================stock00.h======================================

#ifndef STOCK00_H_
#define STOCK00_H_
#include<string>

class Stock
{

/*&&&&&&&&&&&&&&&
权限修饰符:  
                  public: 类中的成员可以通过对象在外部访问
                  private:类中的成员不可以通过对象在外部访问
                  protected:类中的成员不可以通过对象在外部访问
                  private和protected区别:
          体现在继承的时候,子类可以使用父类的保护成员,但是子类不能使用父类的私有成员
                  保护:对外隐藏,对子类不隐藏
                  私有:到处隐藏
                  公有:谁都可以用

&&&&&&&&&&&&&&&*/
private:                //定义成员属性
     std::string company;
	 long shares;
	 double share_val;
	 double total_value;
	 void set_tot()
	 {
	   total_value =shares * share_val;
	 }
public:                       //定义成员方法,具体实现在stcok00.cpp中
     void acquare(const std::string & co,long n,double pr);
	 void buy(long num,double price);
	 void sell(long num,double pricce);
	 void update(double price );
	 void show();	 
}

=========================stock00.cpp=======================================

#include<iostream>
include"stock00.h"

//成员函数的具体实现细节
void Stock::acquire(const std::string $ co,long n,double pr)
{
    company = co;
	if(n<0)
	{
	  std::cout <<"Number of shares  can't be negative;"
	            << comany << "share set to 0.\n";
				shares =0;
	}
	else 
	shares =n;
	share_val = pr;
	set_tot();

}

void Stock::buy(long num,double pr)
{
	if(num<0)
	{
	  std::cout <<"Number of shares purchased can't be negative;"
	            << "Transation is aborted.\n";
				
	}
	else 
	shares += num;
	share_val = prise;
	set_tot();

}

void Stock::buy(long num,double price)
{
    using std::cout;
	if(num<0)
	{
	  cout <<"Number of shares can't be negative."
	            << "Transation is aborted.\n";			
	}
    if(num>shares)
	{
	  cout <<"You can't sell more than you have!"
	            << "Transation is aborted.\n";			
	}
    else
	{
	  shares-=num;
      share_val=price;
      set_tot();		
	}
}

Void Stock::update(double)
{
     share_val = price;
     set_tot();
}

void Stock::show()
{   
    using std::cout;
    std::cout <<"Company:"<< company;
              <<"shares:"<< shares <<'\n'
              <<"share price: $"<< share_val
              <<"Total WORTH: $"<< total_val << '\n';           
}

================================usestock0.cpp==============================

#include<iostream.h>
#include"stock00.h"
int main()
{
  Stock user1;//定义Stock类的对象,通过对象去访问成员函数
  user1.auquire("company1",20.12.5);
  user1.show();  
  user1.buy(15.18.125);
  user1.show();
  user1.sell(400,20.00)
  user1.show();
  user1.buy(300000,17.50);
  user1.show();
  user1.sell(300000,0.70);
  user1.show();
  return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖爱Kun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值