ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【C++】类与对象

2020-04-29 23:05:18  阅读:198  来源: 互联网

标签:调用 const 对象 value C++ total Stock



类的声明

class Stock//某人持有的股票
{
private://私有成员,只能通过公用方法间接访问
	std::string company;//股票所属公司
	long shares;//持股数量
	double share_value;//股票单价
	double total_value;//股票总值
	void set_tot(){total_value=shares*share_value;}//内联函数,计算股票总值
public://公用方法,声明函数头即可
	buy();
	sell();
	show();
};

//在类外定义内联函数,使用inline标识符
inline void Stock::set_tot()
{
    total_value=shares*share_value;
}

//在类外定义类方法
void Stock::sell(long num,double price)
{
    ...
}

类的初始化

构造函数

作用:在创建对象时自动对其初始化

//定义
Stock(const string &com,long n==0,double pr=0.0)
    //分别给company、shares、share_value提供值
    
//调用
Stock garment ("Furry Mason",50,2.5)

//与new一起使用
Stock *pstock = new Stock("Furry Mason",18,19.0)

析构函数

作用:清除对象,释放内存

在没有显式声明而需要删除对象时,编译器会隐式地声明一个默认析构函数

//声明
Stock::~Stock()
{
	//可以为空
	//可以添加提示性语句来提示其被调用
}

//调用
~Stock();

this指针

//一个用来比较两个对象中某成员值的大小的函数
const Stock & topval(const Stock &s) const;
//const Stock& 表明函数返回一个const引用
//括号内的const 表明不会修改被显式访问的对象
//括号后的const 表明不会修改被隐式访问的对象
//调用
top=stock1.topval(stock2);
top=stock2.topval(stock1);
//两种调用等价,top会被赋值为股价总值较高的对象
//括号内的是被显式访问的对象,括号外的是被隐式访问的对象

this 指针的使用场景

const Stock & Stock::topval(const Stock& s) const
{
    if(s.total_value>total_value) return s;
    else return *this;
}

头文件

固定格式,防止该头文件被同一源文件多重调用

#ifndef 标识
#define 标识
……
……
#endif

标识的命名规则:

1.使用头文件名称

2.字母全大写,前后加下划线_ ,如果包含“.”,也替换成下划线_

示例:#ifndef _STOCK10_H_

标签:调用,const,对象,value,C++,total,Stock
来源: https://www.cnblogs.com/streamazure/p/12805682.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有