1.c++ 基础知识-类和对象-继承-构造和析构顺序
#include
#include
using namespace std;
//继承
// 基类 父类 包含一些公共或者说可以重复利用的内容
class Base
{
public:
Base();
~Base();
};
Base::Base()
{
cout<<"Base():构造函数"<
cout<<"Base():析构函数"<
public:
A();
~A();
};
A::A()
{
cout<<"A():构造函数"<
cout<<"A():析构函数"<
A a;
}
int main()
{
fun_A();
//输出:
//Base():构造函数
//A():构造函数
//A():析构函数
//Base():析构函数
return 0;
}
2.c++ 基础知识-类和对象-继承-同名成员处理
#include
#include
using namespace std;
//继承
// 基类 父类 包含一些公共或者说可以重复利用的内容
class Base
{
public:
Base();
void fun();
void fun(int n);
int m_A;
};
Base::Base()
{
m_A = 2000;
}
void Base::fun()
{
cout<<"Base : fun()"<
cout<<"n = "<
public:
A();
void fun();
int m_A;
};
A::A()
{
m_A = 100;
}
void A::fun()
{
cout<<"A : fun()"<
A a;
cout<
fun_A();
//输出
//100
//2000
//A : fun()
//Base : fun()
//n = 4
//Base:fun(int n)
return 0;
}
注意,同名静态成员处理方式和非静态处理方式一样,只不过有两种访问的方式(通过对象和类名)
//例如上述代码中
//Base中有静态成员函数
static void fun();//static 静态成员函数
//A中有静态成员函数
static void fun();//static 静态成员函数
//可以利用下面的两种方式访问
A::Base::fun();//访问父类成员函数需要用作用域 对象
a.Base::fun();//访问父类成员函数需要用作用域 类名