1、子类可以继承父类的成员变量;(只能继承public 和protected,不能private)
2、子类拿到的父类的成员变量值是初始化的值。
3、如下面classB继承classA,只能拿到初始化的a的值。
//int classA::a = 0;
int main()
{
printf("Lee study");
//std::cout << "testv" << std::endl;
classA *a = new classA();
classB *b = new classB();
a->testa();
b->testb();
return 0;
}
//classA.h
class classA
{
public:
classA();
~classA();
void testa();
protected:
static int a = 0;
};
//classA.cpp
#include "stdafx.h"
#include "classA.h"
classA::classA()
{
//a = 10;
}
classA::~classA()
{
}
void classA::testa()
{
a = 12;
}
//classB.h
#pragma once
#include "classA.h"
class classB : public classA
{
public:
classB();
~classB();
void testb();
};
//classB.cpp
#include "stdafx.h"
#include "classB.h"
#include "classA.h"
classB::classB()
{
}
classB::~classB()
{
}
void classB::testb()
{
printf("lee a;%d", a);
}