《C++编程风格》第一章:抽象 课后练习

原题如下:

分析程序清单1-4中的类。函数main()输出的结果如下所示:
The atomic weight:196.9665
The atomic number:79
Price per ounce:450.75

应用本章中所学到的规则, 对程序中的抽象及相应的类进行评价。(标识符Pb和Au是化学符号, 分别表示铅和金, 这两个名字来自拉丁文plumbumaurum


程序清单1-4 类Pb和类Au


#include <iostream>
using namespace std;

class Pb
{
private:
    unsigned atomicNumber;
    float atomicWeight;
    float pricePerOunce;

public:
    Pb(void)
    {
        atomicNumber = 82;
        atomicWeight = 207.2;
        pricePerOunce = 0.01;   
    }

    unsigned getNumber(void) { return atomicNumber; }

    float getWeight(void) { return atomicWeight; }

    float getPrice(void) { return pricePerOunce; }

    void output(void)
    {
        cout << "The atomic weight: " << atomicWeight << "\n";
        cout << "The atomic number: " << atomicNumber << "\n";
        cout << "Price per ounce: " << pricePerOunce << "\n\n"; 
    }
};

class Au
{
private:
    unsigned atomicNumber;
    float atomicWeight;
    float pricePerOunce;

public:
    Au(void)
    {
        atomicNumber = 79;
        atomicWeight = 196.9665;
        pricePerOunce = 450.75;
    }

    Au(Pb& lead)
    {
        atomicWeight = lead.getWeight() - 10.2335;
        atomicNumber = lead.getNumber() - 3;
        pricePerOunce = 450.75; 
    }

    void output(void)
    {
        cout << "The atomic weight: " << atomicWeight << "\n";
        cout << "The atomic number: " << atomicNumber << "\n";
        cout << "Price per ounce: " << pricePerOunce << "\n\n"; 
    }
};

main()
{
    Pb myLead;
    Au myGold = myLead;
    myGold.output();
}

猜你喜欢

转载自blog.csdn.net/luoluozlb/article/details/51892044
今日推荐