我对以下代码的输出很困惑:
#include <iostream>
using namespace std;
class Parent
{
public:
Parent() : x(2) { }
virtual ~Parent() { }
void NonVirtual() { cout << "Parent::NonVirtual() x = " << x << endl; }
private:
int x;
};
class Child : public Parent
{
public:
Child() : x(1) { }
virtual ~Child() { }
void NonVirtual() { cout << "Child::NonVirtual() x = " << x << endl; }
private:
int x;
};
int main()
{
Child c;
Parent* p = &c; …Run Code Online (Sandbox Code Playgroud)