用有参构造函数作默认构造函数
来源:互联网 发布:免费钢材销售软件 编辑:程序博客网 时间:2024/06/05 03:41
用有参构造函数作默认构造函数
- 什么是有参构造函数、无参构造函数
- 怎么用有参构造函数作默认构造函数
阅读之前注意:
本文阅读建议用时:19min
本文阅读结构如下表:
什么是有参构造函数、无参构造函数
参考以下代码:
#include "iostream"using namespace std;class point{public: point(int a,int b);//有参构造函数 point();//无参构造函数,会被认为是默认构造函数public: void print() { printf("m_a=%d,m_b=%d\n", m_a, m_b); }private: int m_a; int m_b;};point::point(int a,int b){ m_a = a; m_b = b;}point::point(){ m_a = 0; m_b = 0;}void main(){ point p1(10,20); p1.print(); point p2; p2.print(); system("pause");}
上例中,无参构造函数会被当成是默认构造函数,即当声明一个类却没有采用显式的构造函数来初始化,比如例子中的p2变量,那么会自动采用默认构造函数来初始化。1.
怎么用有参构造函数作默认构造函数
参考以下代码:
#include "iostream"using namespace std;class coordinate{public: //err,形参全是默认参数,会被当成是默认构造函数,和无参构造函数冲突 //coordinate(int a = 1, int b = 1); coordinate(int a, int b); //无参构造函数是默认构造函数 coordinate();public: void print() { printf("m_a=%d,m_b=%d\n", m_a, m_b); }private: int m_a; int m_b;};coordinate::coordinate(int a,int b){ m_a = a; m_b = b;}coordinate::coordinate(){ m_a = 0; m_b = 0;}void main(){ coordinate p1(10, 30); p1.print(); system("pause");}
如果注释掉这个例子中的无参构造函数,采用全部是默认参数的有参构造函数,那么有参构造函数就会被当成默认构造函数了。注意这两者是冲突的,因为默认构造函数只能存在一个。2.
- 用有参构造函数作默认构造函数
- 阅读之前注意
- 什么是有参构造函数无参构造函数
- 怎么用有参构造函数作默认构造函数
- 测试用例基于王保明先生的讲课内容. ↩
- 测试用例基于王保明先生的讲课内容. ↩
阅读全文
0 0
- 用有参构造函数作默认构造函数
- 设计默认构造函数作三角形(2)
- 默认构造函数
- 使用默认构造函数
- C++ 默认构造函数
- 关于默认构造函数
- C++ 默认构造函数
- 默认构造函数
- 默认构造函数
- 默认构造函数
- 关于默认构造函数
- 默认构造函数
- C++ 默认构造函数
- C++ 默认构造函数
- 默认构造函数
- C++默认构造函数
- 创建默认构造函数
- 默认构造函数
- 洛谷P2073 送花_Treap
- Hadoop笔试题一答案
- 内容超过div的长度后自动出现滚动条的实现方法
- 关于价格的折扣的css
- 英雄的旅程-三段式
- 用有参构造函数作默认构造函数
- 金海佳学C++primer 练习9.31
- 【java基础】va synchronized关键字的用法(转载)
- python的深拷贝deepcopy与浅拷贝copy
- 深入理解Android音视频同步机制(四)MediaSync的使用与原理
- Android 自定义 DialogFragment 宽度问题
- python装饰器原理
- 1034. 有理数四则运算(20)
- Algorithm之路三:Longest Substring Without Repeating Characters