zoukankan      html  css  js  c++  java
  • C++编程之约定俗成的习惯(1)

    说明:C++的类定义中,可以任意安排成员函数和成员变量的位置,一般我们将成员变量都设置成私有的,而将大多成员函数都设置为公有的。其中,公有成员和私有成员顺序的安排没有统一的标准,但是我们倾向于将成员函数放在成员变量之前

    代码示例:

    //包含一个非常简单的类的演示程序
    //类DayOfYear
    #include<iostream>
    #include<cstdlib>
    using namespace std;
    class DayOfYear
    {
    public:
        void input();
        void output();
        void set(int newMonth,int newDay);
        //前提条件:newMonth和newDay可以构成一个合法的日期
        void set(int newMonth);
        //前提条件:1<=newMonth<=12
        //运行结果: 日期被设定为参数给定月份的第一天
    
        int geyMonthNumber();
        int getDay();
    
    private:
        int month;
        int day;
    };
    
    int main()
    {
        DayOfYear today,bachBirthday;
        cout<<"Enter today's date:
    ";
        today.input();
        cout<<"Today's date is ";
        today.output();
        cout<<endl;
        bachBirthday.set(3,21);
        cout<<"J.S Bach's birthday is ";
        bachBirthday.output();
        cout<<endl;
    
        if(today.geyMonthNumber()==bachBirthday.geyMonthNumber()&&today.getDay()==bachBirthday.getDay())
        {
            cout<<"Happy Birthday Johann Sebastian!
    ";
        }
        else
        {
            cout<<"Happy Unbirthday Johann Sebastian!
    ";
        }
    
        return 0;
    }
    
    //使用iostream和cstdlib
    void DayOfYear::set(int newMonth,int newDay)
    {
        if((newMonth>=1)&&(newMonth<=12))
        {
            month=newMonth;
        }
        else
        {
            cout<<"Illegal month value!Program aborted.
    ";
            exit(1);
        }
        if((newDay>=1)&&(newDay<=31))
        {
            day=newDay;
        }
        else
        {
            cout<<"Illegal day value!Program aborted.
    ";
            exit(1);
        }
    }
    
    void DayOfYear::set(int newMonth)
    {
        if((newMonth>=1)&&(newMonth<=12))
        {
            month=newMonth;
        }
        else
        {
            cout<<"Illegal month value!Program aborted.
    ";
            exit(1);
        }
        day=1;
    }
    int DayOfYear::geyMonthNumber()
    {
        return month;
    }
    int DayOfYear::getDay()
    {
        return day;
    }
    void DayOfYear::input()
    {
        cout<<"Enter the month as a number:";
        cin>>month;
        cout<<"Enter the day of the month:";
        cin>>day;
        if((month<1)||(month>12)||(day<1)||(day>31))
        {
            cout<<"Illegal date!Program aborted.
    ";
            exit(1);
        }
    }
    void DayOfYear::output()
    {
        switch(month)
        {
        case 1:
            cout<<"January ";
            break;
        case 2:
            cout<<"February ";
            break;
        case 3:
            cout<<"March ";
            break;
        case 4:
            cout<<"April ";
            break;
        case 5:
            cout<<"May ";
            break;
        case 6:
            cout<<"June ";
            break;
        case 7:
            cout<<"July ";
            break;
        case 8:
            cout<<"August ";
            break;
        case 9:
            cout<<"September ";
            break;
        case 10:
            cout<<"October ";
            break;
        case 11:
            cout<<"November ";
            break;
        case 12:
            cout<<"Decemebr ";
            break;
        default:
            cout<<"Error in DayOfYear::output.";
        }
    
        cout<<day;
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Java学习8.31
    Java学习8.30
    Java学习8.29
    Java学习8.28
    Java学习8.27
    Java学习8.26
    242. Valid Anagram 有效的字符串
    680. Valid Palindrome II 对称字符串-可删一个字母版本
    151. Reverse Words in a String翻转一句话中的单词
    155. Min Stack 155.最小栈
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965639.html
Copyright © 2011-2022 走看看