#include <iostream>
using namespace std;
/*
//对象成员的类
class My
{
public:
My()
{
cout<<"对象成员无参构造"<<endl;
}
~My()
{
cout<<"对象成员析构函数"<<endl;
}
};
//设置一个父类
class Base
{
private:
int a;
public:
Base()
{
cout<<"父类的无参构造函数"<<endl;
}
Base(int a)
{
this->a=a;
cout<<"父类中的有参构造 int "<<endl;
}
~Base()
{
cout<<"父亲的析构函数"<<endl;
}
};
//设计一个子类
class Son:public Base//继承父类
{
private:
int b;
public:
Son()
{
cout<<"子类中的无参构造"<<endl;
}
Son(int a)
{
cout<<"子类中的有参构造int"<<endl;
}
Son(int a,int b):Base(a),b(b)
{
cout<<"子类中的有参构造 int int"<<endl;
}
~Son()
{
cout<<"子类中的析构函数"<<endl;
}
};
void test01()
{
//子类外部
Son ob1(10);
//Son ob(10,20);
}
//父类
class Base
{
private:
int num;
public:
Base(int num):num(num)
{
cout<<"父类有参构造 int"<<endl;
}
~Base()
{
cout<<"父类析构函数"<<endl;
}
int get()
{
return num;
}
};
//子类
class Son:public Base
{
private:
int num;
public:
Son(int num1,int num2):Base(num1)
{
this->num=num2;
cout<<"子类有参构造 int"<<endl;
}
~Son()
{
cout<<"子类中的析构函数"<<endl;
}
void showSon()
{
cout<<"父类中num="<<get()<<endl;
cout<<"子类中num="<<num<<endl;
}
};
void test02()
{
Son ob(10,20);
ob.showSon();
}
*/
class Base
{
public:
void func(void)
{
cout<<"父类中的void func"<<endl;
}
void func(int a)
{
cout<<"父类中的int func a="<<a<<endl;
}
};
class Son:public Base
{
public:
void func(void)//一旦子类 实现了 父类的同名成员函数 将屏蔽所有父类同名成员函数
{
cout<<"子类中voidfunc"<<endl;
}
};
void test03()
{
Son ob;
ob.func();
//ob.func(10);
//如果用户 必须要调用父类 的同名成员函数 必须加作用域
ob.Base::func();
ob.Base::func(10);
}
int main(int argc, char *argv[])
{
test03();
return 0;
}