1、被private限定符修饰的成员,只能在类内进行访问(被类的成员函数进行访问)
2、被public限定符修饰的成员,可以在类内和内外都可以进行访问
3、被project限定符修饰的成员,可以在类内进行访问,在类外不能进行访问(和private相似)
5、类可以进行继承,就会产生父类(基类),子类(派生类)
下面看代码和注释
Person.h
#ifndef _PERSON_H_
#define _PERSON_H_
#include <string>
using namespace std;
class Person
{
public:
Person();
~Person();
void eat();
protected:
string m_strName;
private:
int m_iAge;
};
#endif
Worker.h
#include "Person.h"
#ifndef _WORKER_H_
#define _WORKER_H_
class Worker:public Person
{
public:
Worker();
~Worker();
void work(void);
private:
int m_iSalary;
};
#endif
Person.cpp
#include <iostream>
#include "Person.h"
using namespace std;
Person::Person()
{
}
Person::~Person()
{
}
void Person::eat()
{
m_strName = "Jack";//被Protected修饰的成员在类内(成员函数)中访问
m_iAge = 20;//被private修饰的成员在类内(成员函数)中访问
cout << "eat()" << endl;
}
Worker.cpp
#include <iostream>
#include "Worker.h"
using namespace std;
Worker::Worker()
{
}
Worker::~Worker()
{
}
void Worker::work()
{
m_strName = "Marry";//基类中的被Protected修饰的成员可以在派生类中访问
eat();//基类中的被public修饰的成员可以在派生类中直接访问
cout << "work()" << endl;
}
demo.cpp
#include <iostream>
#include "Worker.h"
int main()
{
Worker worker1;
Person person1;
//work1.m_strName = "Marry"; //编译器报错,被protected修饰的成员在只\
能在派生类中进行访问(被派生类的成员函数)
worker1.work();
//person1.m_strName = "Jack";//编译器报错,被protected修饰的成员被不能类\
外进行访问
return 0;
}