C++类的描述
类的描述分为两个部分,public和private
public可以用来定义函数,对类的对象进行操作,对于用户是可见的,是用户对对象操作的唯一手段。
private部分用于定义函数和数据成员,这些函数和数据成员对于用户是看不见的
借助于public与private部分,可以让用户只看到他们需要看到的部分,把其他信息隐藏起来。尽管C++语法允许在public部分定义数据成员,但在软件工程实践中不鼓励这种做法。
C语言中将基本数据类型划分为signed(有符号)和unsigned(无符号)两大类。
int a; 等价于 signed int a;
enum sign{ plus,minus};
class Currency{
public:
//构造函数
Currency(sign s=plus,unsigned long d=,unsigned int c= );
//析构函数
~Currency(){}
private:
sign sgn;
unsigned long dollars;
unsigned int cents;
};
public 第一个函数与Currency类同名,称为构造函数。指明如何创建一个给定类型的对象,它不可以有返回值。创建对象时,构造函数被自动唤醒。
析构函数:Currency对象超出作用域时自动调用析构函数,用于删除对象,不可能有返回值。
#include<iostream>
//using namespace std; enum sign{ plus,minus};
class Currency{
public:
//构造函数
Currency(sign s=plus,unsigned long d=,unsigned int c= );
//析构函数
~Currency(){}
bool Set(sign s,unsigned long d,unsigned int c);
Currency Add(const Currency & x) const; //返回的是指
Currency& Increment(const Currency& x);//返回的是引用
void output() const;
private:
sign sgn;
unsigned long dollars;
unsigned int cents;
}; Currency::Currency(sign s,unsigned long d,unsigned int c){
sgn=s;dollars=d,cents=c;
}
bool Currency::Set(sign s,unsigned long d,unsigned int c){
if(c>) return false;
sgn=s;
dollars=d;
cents=c;
}
Currency Currency::Add(const Currency& x) const{
long a1,a2,a3;
Currency ans;
return ans;
}
Currency& Currency::Increment(const Currency& x){
*this=Add(x); //*this就是当前对象
return *this;
} void Currency::output()const {
std::cout<<dollars<<" "<<cents<<" "<<sgn<<" ";
}
重载操作符; Currency包含多个与C++标准操作符相类似的成员函数,可以直接利用C++标准操作符操作
友元函数:将private成员的访问权限授予其他类和函数,就需要将其定义为友元。
C++类的描述的更多相关文章
- python类:描述器Descriptors和元类MetaClasses
http://blog.csdn.net/pipisorry/article/details/50444769 描述器(Descriptors) 描述器决定了对象属性是如何被访问的.描述器的作用是定制 ...
- python小知识-属性查询优先级(如果有同名类属性、数据描述符、实例属性存在的话,实例>类>数据描述符)
https://www.cnblogs.com/Jimmy1988/p/6808237.html https://segmentfault.com/a/1190000006660339 https:/ ...
- 在Visual Studio中使用类图描述领域模型
右键解决方案,添加一个名称为"Domain Model"的UML类图. 首先站在整体的角度添加类,先不要任何属性. 添加Customer对Wishlist的关联,把"属性 ...
- asp.net 类头部描述
这里教大家怎么在新建类的时候默认有头部描述,先看效果: 像这样的内容我们要怎么进行添加呢? 前方高能...... 找到VS的安装目录-->比如我自己的安装目录D:\VS2013\Common7\ ...
- Python类总结-描述符__get__(),__set__(),__delete__()
1 描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),set(),delete()中的一个,这也被称为描述符协议 get():调用一个属性时,触发 set():为一 ...
- 28.按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。
//矩形父类 package d922A; public class Rect { private double l,w; Rect(double c,double k) { l=c; w=k; } ...
- 下面有关 JAVA 异常类的描述,说法正确的有()
都是Throwable的子类: 1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行 ...
- Java Class类常用方法描述
一 生成Class对象的三种方式 1 Class.forName("全路径名") 2 类名.Class 3 实例对象.getClass() 接着看三种方式生成Class对象的区别 ...
- 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。
package jvxing; public class Jvxing { //成员变量 private double width; private double chang; public doub ...
随机推荐
- JMS Session session = connection.createSession(paramA,paramB) 两个参数不同组合下的含义和区别
Session session = connection.createSession(paramA,paramB); paramA是设置事务,paramB是设置acknowledgment mode ...
- mssql sqlserver 使用脚本输出excel文件的方法分享
转自:http://www.maomao365.com/?p=6683 摘要: 下文将分享使用sql脚本输出excel的方法 此脚本可以应用于 表或视图生成excel的方法,若需使用sql脚本输出ex ...
- CentOS7中安装MySQL5.7
安装必要的组件 yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio li ...
- puppet使用 apache passsenger 作为前端 (debian)
目录 1. 概要 2. nginx + passenger 配置 2.1. package 安装 2.2. 配置文件设置 2.3. 测试配置结果 2.4. 参考网址 概要 之前做过 apache + ...
- Ubuntu 12.04上安装HBase并运行
Ubuntu 12.04上安装HBase并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.HBase的安装 在官网上下载HBase-1.1.2 ...
- MATLAB一元线性回归分析
MATLAB一元线性回归分析应用举例 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ huigui.m function [b,bint,r,rint, ...
- 完美集群监控组合ganglia和nagios
Ganglia是伯克利开发的一个集群监控软件.可以监视和显示集群中的节点的各种状态信息,比如如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈 ...
- windows下python2和python3共享
其实最好的解决方案使用 virtualenv http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html 不太好的方法,先安装 ...
- LINUX 查看当前系统的内存使用情况 free
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057 ...
- 小a与星际探索
链接:https://ac.nowcoder.com/acm/contest/317/C来源:牛客网 小a正在玩一款星际探索游戏,小a需要驾驶着飞船从11号星球出发前往nn号星球.其中每个星球有一个能 ...