#include <iostream>
#include <assert.h>
using namespace std;
// c++ 类 访问控制和继承,能访问的类型:
// 同一个类: public protected [prəˈtektɪd] 受保护 private [ˈpraɪvət] 私有
// 派生类:public protected
// 外部类:public
class A{
public:
// 定义类 A 的公共函数 A 和 fun
int a;
A(){
a1 = 1;
a2 = 2;
a3 = 3;
a = 4;
}
void fun(){
cout << a << endl; //正确
cout << a1 << endl; //正确
cout << a2 << endl; //正确
cout << a3 << endl; //正确
}
public:
int a1;
protected:
int a2;
private:
int a3;
};
class B : public A{
public:
// 派生类
int a;
B(int i){
A();
a = i;
}
void fun(){
cout << a << endl; //正确,public成员
cout << a1 << endl; //正确,基类的public成员,在派生类中仍是public成员。
cout << a2 << endl; //正确,基类的protected成员,在派生类中仍是protected可以被派生类访问。
// cout << a3 << endl; //错误,基类的private成员不能被派生类访问。
}
};
int main(){
B b(10);
//外部类,只能访问 public
cout << b.a << endl;
cout << b.a1 << endl; //正确
// cout << b.a2 << endl; //错误,类外不能访问protected成员
// cout << b.a3 << endl; //错误,类外不能访问private成员
return 0;
}Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 14:35:48,Processed in 0.01829 second(s).