派生类
#include <iostream>
using namespace std;
class Box{
private://类私有,只有成员可以调用 也就是说你不可以通过box1.a来调用 ,这些变量其实你默认不用写private 这个变量,只要放在最上面他默认就是 私有
int a=1;
protected://protected(受保护)成员
int b=2;
public:
int e=3;
};
class Neet:Box{//派生类
public:
void c(){
// cout<< a;//private 在派生类里是 不可以引用的
// cout << b;//protected 在派生类里是 可以调用的
cout <<e; //public 在派生类里也是 可以访问的
};
};
int main(){
Neet Neet1;
Neet1.c();
}
public 继承
#include <iostream>
using namespace std;
class A{
private:
int a=1;
public:
int b=2;
protected:
int c=3;
};
class B:public A{
// int d=c; // 在main里cout << b.d;//会报错
int d=b; // 3
// int d=a; // 直接报错,A里面private 不能集成和派生
public:
void g(){
// cout << a;//报错
// cout << b;//2
cout << c;//3
};
};
int main(){
B b;
b.g();
// cout << b.d;//报错
}
private 继承
#include <iostream>
using namespace std;
class A{
private:
int a=1;
public:
int b=2;
protected:
int c=3;
};
class B:private A{
// int d=c; // 在main里cout << b.d;//会报错
int d=b; // 3
// int d=a; // 直接报错,A里面private 不能集成和派生
public:
B(int x){
cout << x<<" "<<d;
};
};
int main(){
B b(10);//会执行 B里面的b的大写方法也就是B()
// b.g();
// cout << b.d;//报错
}
protected 继承
#include <iostream>
using namespace std;
class A{
private:
int a=1;
public:
int b=2;
protected:
int c=3;
};
class B:protected A{
int d=c; // 在main里cout << b.d;//会报错
// int d=b; // 3
// int d=a; // 直接报错,A里面private 不能集成和派生
public:
B(int x){
cout << x<<" "<<d;
};
};
int main(){
B b(10);//会执行 B里面的b的大写方法也就是B()
// b.g();
// cout << b.d;//报错
}
构造函数
#include <iostream>
using namespace std;
class Line{
public:
void a(int);
Line();//构造函数
};
Line::Line(){//类似ts constructor
a(1);
};
void Line::a(int x){
cout << x;
}
int main(){
Line line;//会ma上执行构造函数
}