首页 > 解决方案 > 为什么子类和父类中同名的成员变量被认为是不同的?这什么时候有用?

问题描述

Parent 和 Child 的 var 是不同的实体。为什么它们不被认为是相同的?什么时候你会用同一个名字来指代不同的东西?

class Parent {
public:
    int var = 20;
    Parent() {}  
    void print() {cout << var << endl;}
};

class Child: public Parent {
public:
    int var = 4;
    Child(): Parent() {}
};

Child c{};
cout << c.var << endl; // Child's var
c.print(); // Parent's var

标签: c++

解决方案


推荐阅读