具有默認實參的構造函數的類的對象的生成方法。

#include <iostream>
using namespace std;

class Rectangle {
public:
    Rectangle():x1(0),x2(0),y1(0),y2(0){cout<<"default"<<endl;}
 //   Rectangle(int a1 = 0, int a2 = 0, int a3 = 0, int a4 = 0);
    ~Rectangle();
    void area();
private:
    int x1;
    int x2;
    int y1;
    int y2;
};

//Rectangle::Rectangle(int a1, int a2, int a3, int a4) {
//    x1 = a1;
//    x2 = a2;
//    y1 = a3;
//    y2 = a4;
//}
Rectangle::~Rectangle() {}

void Rectangle::area() {
    cout<<x1<<"    "<<x2<<endl;
    cout<<y1<<"    "<<y2<<endl;
}
int main(void) {
    Rectangle r;
//    Rectangle r();//會被當成函數聲明
    r.area() ;
//    Rectangle k(1, 3, 5, 7);
//    k.area() ;

    return 0;
}


以上是測試代碼。

下面對這種易出錯情況進行總結:


表格來自:yzkdj

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章