构造函数重载

 #include<iostream.h>
class Date
{
private:
 int year;
 int month;
 int day;
public:
 Date()
 {
  year=2000;month=1;day=1;
  cout<<year<<"/"<<month<<"/"<<day<<endl;
 }
 Date(int d)
 {
  year=2000;month=1;day=d;
  cout<<year<<"/"<<month<<"/"<<day<<endl;
 }
 Date(int m, int d)
 {
  year=2000;month=m;day=d;
  cout<<year<<"/"<<month<<"/"<<day<<endl;
 }
 Date(int y,int m, int d)
 {
  year=y;month=m;day=d;
  cout<<year<<"/"<<month<<"/"<<day<<endl;
 }
};
void main()
{
 Date aday;
 Date bdate(10);
 Date cdate(8,8);
 Date ddate(2010,10,10);
}
在C++中,构造函数重载(Constructor Overloading)允许一个类定义多个构造函数,每个构造函数具有不同的参数列表[^1]。这种特性使得同一个类能够通过不同的方式进行实例化,从而提高了类的灵活性可用性[^1]。 构造函数重载的实现方式是通过定义多个构造函数,每个构造函数具有不同的参数列表。这些参数可以是不同的类型、数量或顺序。例如,一个类可以定义一个无参数的默认构造函数一个带有参数构造函数,以便根据需要初始化对象的成员变量[^1]。 以下是一个简单的示例,展示了如何在C++中实现构造函数重载: ```cpp #include <iostream> using namespace std; class MyClass { private: int value; public: // 默认构造函数 MyClass() { value = 0; cout << "Default constructor called, value: " << value << endl; } // 参数构造函数 MyClass(int v) { value = v; cout << "Parameterized constructor called, value: " << value << endl; } // 另一个参数构造函数 MyClass(int v, int anotherValue) { value = v + anotherValue; cout << "Another parameterized constructor called, value: " << value << endl; } void display() { cout << "Value: " << value << endl; } }; int main() { MyClass obj1; // 调用默认构造函数 MyClass obj2(10); // 调用参数构造函数 MyClass obj3(5, 15); // 调用另一个参数构造函数 obj1.display(); obj2.display(); obj3.display(); return 0; } ``` 在这个示例中,`MyClass`类定义了三个构造函数:一个默认构造函数、一个带有单个整数参数构造函数,以及一个带有两个整数参数构造函数。每个构造函数都根据其参数列表初始化对象的成员变量,并输出相应的信息。 通过这种方式,构造函数重载允许用户根据不同的需求创建初始化对象,从而提高了代码的灵活性可读性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值