动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
小绿叶技术Lv150   
c++ 类     



#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;
}




 0  已被阅读了108次  楼主 2022-12-28 11:48:05
回复列表

回复: c++ 类

guest
登录之后更精彩~
Powered by HadSky 7.7.16
© 2015-2023 PuYueTian
您的IP:8.219.134.200,2023-02-01 15:21:10,Processed in 0.00826 second(s).
Powered by HadSky
小绿叶技术博客