IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++ 自定义类 class -> 正文阅读

[C++知识库]c++ 自定义类 class

#include<iostream>
using namespace std;
enum signType{plus,minus};
class currency{
   
     public:
       currency (signType theSign= signType::plus,unsigned long theDollars=0,unsigned int theCents = 0); //构造函数  外部定义  诺省初始值--> 则按此默认给
        ~currency(){};//析构函数 为空 
        void setValue(signType,unsigned long,unsigned int ); //原型 定义在class 外部 
        currency add(const currency&) const; //此const表示 不改变参数的内容 
        void output() const;

        private :  //只能通过成员函数访问  不能对象私自 访问
            signType sign;
            unsigned long dollars;
            unsigned int cents;
}; //最后也要加分号

 currency::currency (signType theSign,unsigned long theDollars,unsigned int theCents){
     setValue(theSign,theDollars,theCents);
}
void currency::setValue(signType Sign,unsigned long Dollars,unsigned Cents){ // 如显示初始化对象 ,则调用此  64row
    //给调用对象 的成员赋值 
     if(Cents >99){
          throw "Max of Cents";
     }
      sign = Sign;   //没用 . 就代表 访问 调用对象的成员 
      dollars = Dollars;
      cents = Cents;
}
currency currency::add(const currency & x) const{
    currency result;
    long a1,a2,a3;
    a1=dollars*100 + cents;  //a1 调用对象的 转换为数字值 
    if(sign ==signType:: minus)
       a1 = -a1;

       a2 = x.dollars*100 +x.cents; // a2 代表形参传进来的对象 
        if(x.sign == signType:: minus)
          a2= -a2;
      
       a3= a1+a2;
        if(a3<0){
             result.sign =signType:: minus;
              a3 = -a3;
        }
           else  result.sign = signType::plus;

        result.dollars = a3/100;
        result.cents = a3-result.dollars*100;

        return result;
          
}
 void currency::output() const{
      if(sign == signType::minus)
        cout<<'-';
          cout<< dollars
               << '.'
                << cents;
 }

int main(){
    currency a(signType::plus,3,22),b(signType ::minus,2,22);
    a =a.add(b);
    a.output();

    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:08:38  更:2021-09-14 13:09:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:20:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码