在一个程序中,实现如下要求:
(1)构造函数重载
(2)成员函数设置默认参数
(3)有一个友元函数
(4)有一个静态函数
(5)使用不同的构造函数创建不同对象
code:
#include<iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"Defalut constructor called."<<endl;//默认构造函数
count++;
}
A(int i)
{
cout<<"constructor1=====>a:"<<i<<endl; //有一个参数的构造函数
a = i;
count++;
}
friend void show(A &a1); //定义了一个友元函数
static void show_num() //定义了一个静态函数
{
cout<<"number:"<<count<<endl;
}
void set(int i=0) //定义一个具有默认参数的成员函数
{
a = i;
}
int a;
static int count;
};
int A::count = 0; //在类的定义之外初始化静态成员变量
void show(A &a1)
{
cout<<"a:"<<a1.a<<endl;
}
int main()
{
A a1,a2(5);
show(a1);
show(a2);
A::show_num();
}
输出:
Defalut constructor called.
constructor1=====>a:5
a:0
a:5
number:2