基类中哪有成员函数,不全是成员变量吗
时间: 2024-01-29 17:02:18 浏览: 26
在C++中,基类中除了成员变量之外,还可以定义成员函数。这些成员函数可以被派生类继承和访问,包括公有、保护和私有成员函数。派生类可以通过继承基类的公有成员函数来访问基类的私有成员变量,也可以通过基类的保护成员函数来访问基类的私有成员变量。
例如:
```c++
class Base {
public:
int a;
private:
int b;
protected:
void SetB(int value) {
b = value;
}
};
class Derived : public Base {
public:
void SetBFromBase(int value) {
SetB(value);
}
int GetBFromBase() const {
return b;
}
};
int main() {
Derived d;
d.a = 42;
d.SetBFromBase(100);
std::cout << d.a << std::endl;
std::cout << d.GetBFromBase() << std::endl;
return 0;
}
```
在这个例子中,基类Base中定义了一个私有成员变量b和一个保护成员函数SetB,用来设置b的值。派生类Derived中定义了一个公有成员函数SetBFromBase,用来调用基类的保护成员函数SetB来设置b的值,以及一个公有成员函数GetBFromBase,用来获取b的值。在main函数中,创建了一个Derived对象d,并通过它访问了基类的公有成员变量a和GetBFromBase成员函数,成功输出了它们的值。