结构体里的元素默认是公开的,是可以在外部直接使用的;类中默认是私有的,在外部不能调用。
类中的成员变量是类的属性,是有内存的;成员函数是方法,是没有内存的。
#include <iostream>
using namespace std;
/*
struct Circle //结构体
{
int r;
double s;
};*/
class Circle //类
{
private:
int r;//成员变量 属性 是有内存的
double s;
public:
void setR(int _r) //成员函数 方法 是没内存的
{
r = _r;
}
double getS()
{
s = 3.14 * r * r;
return s;
}
};
int main()
{
// Circle c1; //定义结构体变量
// c1.r = 1;
Circle c2; //创建对象
// c2.r = 2;
c2.setR(2); //通过方法操作属性
cout << c2.getS() << endl;
return 0;
}
类的私有(private)权限是指只能在类的内部访问,外部不能访问,可以通过函数(方法)来访问,修改等操作。
保护权限(protected)用于继承,也只能在类的内部访问
公有权限(public)类的内外都可以访问。
#include <iostream>
using namespace std;
class Test
{
private: //私有权限, 只能在类的内部访问 不能在外部访问
int a;
void f1()
{}
protected: //保护权限, 用于继承
int b;
void f2()
{
a++; // 类的内部可以访问
}
public: //公有权限,类的内部和外部都能访问
int c;
void f3(){}
};
int main()
{
Test t;
//t.a; //不行 不能访问私有成员变量
t.c;//类的外部可以访问公有成员变量
return 0;
}