无参有参构造函数
无参构造函数
class Location_1 { public:Location_1(){cout << "调用无参构造函数" << endl;}private:int x;int y;};void main() {// 调用的就是无参构造函数// 这个无参构造函数不写也是有默认的Location_1 l1;system("pause");return; }下面的这种无参函数的调用方式是错误的:
void main() {Location_1 l1(); // 注意这个调用是错误的cout << "x : " << l1.getX() << ", y : " << l1.getY() << endl; // 并且这段代码还是会报错的system("pause");return; }或者你直接手动调用无参构造函数
Location_1 l1 = Location_1();有参构造函数调用的三种方法
括号法 等号法 手动调用:
class Location_1 { public:Location_1(){cout << "调用无参构造函数" << endl;}Location_1(int x){this->x = x;this->y = 0;}Location_1(int x, int y){this->x = x;this->y = y;}public:void setX(int x){this->x = x;}int getX(){return this->x;}void setY(int y){this->y = y;}int getY(){return this->y;}private:int x;int y;};void main() {// Location_1 l1(1); // 调用一个参数的构造函数 (括号法)// Location_1 l1 = (1); // C++调用有参构造函数 (等号法)// Location_1 l1(1, 2); // 调用两个参数的构造函数 (括号法)// Location_1 l1 = (1, 2); // (等号法)Location_1 l1 = Location_1(1, 2); // 手动调用构造函数的方法cout << "x : " << l1.getX() << ", y : " << l1.getY() << endl;system("pause");return;}总结
- 上一篇: JavaScript代码在哪里放置?
- 下一篇: Word2016(2013)页码、分节符