overloadfunctions.cpp

来自「《24学时精通c++》的光盘内容」· C++ 代码 · 共 62 行

CPP
62
字号
 //Listing 13.1 Overloading class member functions

 #include <iostream>

 

 // Rectangle class declaration

 class Rectangle

 {

 public:

     // constructors

     Rectangle(int width, int height);

     ~Rectangle(){}

 

     // overloaded class function DrawShape

     void DrawShape() const;

     void DrawShape(int aWidth, int aHeight) const;

 

 private:

     int itsWidth;

     int itsHeight;

 };

 

 //Constructor implementation

 Rectangle::Rectangle(int width, int height)

 {

     itsWidth = width;

     itsHeight = height;

 }

 

 

 // Overloaded DrawShape - takes no values

 // Draws based on current class member values

 void Rectangle::DrawShape() const

 {

     DrawShape( itsWidth, itsHeight);

 }

 

 

 // overloaded DrawShape - takes two values

 // draws shape based on the parameters

 void Rectangle::DrawShape(int width, int height) const

 {

     for (int i = 0; i<height; i++)

     {

         for (int j = 0; j< width; j++)

         {

             std::cout << "*";

         }

         std::cout << "\n";

     }

 }

 

 // Driver program to demonstrate overloaded functions

 int main()

 {

     // initialize a rectangle to 30,5

     Rectangle theRect(30,5);

     std::cout << "DrawShape(): \n";

     theRect.DrawShape();

     std::cout << "\nDrawShape(40,2): \n";

     theRect.DrawShape(40,2);

     return 0;

 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?