C++通过构造器,实现对象初始化的两种方法(重载、默认参数)
2017-08-17 21:00
459 查看
概述:在C++中,当类创建对象时,会自动调用构造器,来完成对类对象的初始化。特点如下
- 1 .在对象创建时自动调用,完成与初始化相关的工作。
- 2 .无返回值,与类名相同。
- 3 .可以重载,可用默认参数(不可同时使用)。
- 4 .若未提供任何构造器,默认存在一个无参的空构造器。
若提供,默认构造器则不再存在。
- 5 . 无论是重载还是默认参数,都要包含无参情况(标配);
为了实现对象的无参创建
相比较而言,采用默认参数的方式实现类的对象的初始化比较好。
- 1 .在对象创建时自动调用,完成与初始化相关的工作。
- 2 .无返回值,与类名相同。
- 3 .可以重载,可用默认参数(不可同时使用)。
- 4 .若未提供任何构造器,默认存在一个无参的空构造器。
若提供,默认构造器则不再存在。
- 5 . 无论是重载还是默认参数,都要包含无参情况(标配);
为了实现对象的无参创建
class A { A()//默认构造器,无返回值与类名相同,创建对象自动调用 { } }
1.通过重载,实现类对象的初始化
例1.代码如下#include<iostream> using namespace std; class A { private: int number; public: //重载 A() //无参构造器 { number=1; } A(int tem) //有参构造器 { number =tem; } int Getnumber() { return number; } }; int main() { A a; //无参构造器的调用,实现无参构造对象 cout<<a.Getnumber()<<endl; A b(100); //有参构造器的调用 cout<<b.Getnumber()<<endl; return 0; }
2、通过默认参数,实现类对象的初始化
#include<iostream> using namespace std; class A { private: int number; public: A(int tem=1) //使用默认参数初始化对象 :number(tem)//参数列表 { } int Getnumber() { return number; } }; int main() { A a; //实现了无参构造 cout<<a.Getnumber()<<endl; A b(100); //有参构造器 cout<<b.Getnumber()<<endl; return 0; }
相比较而言,采用默认参数的方式实现类的对象的初始化比较好。
相关文章推荐
- 数组赋值--通过构造方法灵活地实现对象参数初始化
- C++使用构造器初始化对象的两种方式
- Spring中通过stter方法,构造器两种形式对属性进行初始化
- C++ 通过对象方式 、指针方式两种方式去访问成员变量(属性或者方法)
- C++创建对象的两种方法
- C++创建对象的两种方法
- 默认参数是C++的特性,C中不支持 —— 在C中通过默认参数列表使用默认参数的方法
- tomcat6 实现连接池两种方法 (通过测试)
- Java中对象的初始化与方法重载2
- Objective-C 编程语言(3) 定义类---分配并初始化对象,init方法的返回值,初始化方法的实现
- Delphi与C++之间通过实现函数与对象共享
- C# 通过接口IEnumerator让自己编写的对象/类,实现foreach遍历方法
- JAVA中创建线程对象的两种方法:继承Thread和实现Runable
- 设计一个string类,通过重载“+=”运算符,实现对两个string类对象m1,m2的操作。
- 通过反射来生成对象两种方法
- 百度面试题 c++ 实现引用类型与被引用的对象分离的一种方法
- C++ 与“类”有关的注意事项总结(十):类对象数组初始化(三种方法)
- JAVA的线程对象实现的两种方法
- C++学习总结_声明一个对象并实现声明类的方法
- C++创建对象的两种方法