Protected members of the base class can be accessed by members of the derived class

class A
{
protected: //Change to private will report an error: "A::numX" (number of lines declared: 10) inaccessible
	int numX = 100;
};

class B: public A
{
public:
	void assign(void) { numY = numX; }
	int getY(void) { return numY; }
private:
	int numY = 0;
};

int main(int argc, char *argv[])
{
	B b;
	printf("numY = %d\n", b.getY());
	b.assign();
	printf("numY = %d\n", b.getY());

	system("pause");
	return 0;
}

operation result:

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325688372&siteId=291194637