08-类

125 阅读2分钟

写在前面

物以类聚,人以群分--这样就引出了类的概念

名词解释

类定义是以关键字 class 开头,后跟类的名称。
类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表

码上建功 --类


//定义一个Student类
class Student {
//访问权限,类的访问权限默认只能在类的内部。
public:
    //定义属性
    int no;
    //定义无返回值的方法
    void study() {
        cout << "study() - no is " << no << endl;
    }
};

对,创建一个类就是这么简单

'如何使用'
//初始化--是不是很简单,因为这是最简单的,没有构造器的初始化方法 Student student;
//属性访问与赋值
student.no = 100;
student.study();
//当然你也可以用指针这样访问
Student *pStudent = &student;
pStudent->no = 150;
pStudent->study();
打印结果:
study() - no is 100
study() - no is 150

上面代码中person对象、pPerson指针的内存都是在函数的栈空间,自动分配和回收的
"奉上访问权限说明符"
/**
 private,public,protected方法的访问范围.(public继承下)
 private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.
 protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问
 public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
 注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数
 */

码上建功 --结构体

//定义一个Worker结构体
struct Worker {
    //定义属性
    int age;
    //定义无返回值的方法
    void work() {
        cout << "work() - age is " << age << endl;
    }
};

Worker worker;
worker.age = 20; //可以直接访问,默认修饰的属性是public
worker.work();
运行结果:
work() - age is 20

装逼一下

A类(基类)	B类(A的派生类)	C类(B的派生类)
公有继承	公有成员	公有成员	公有成员
私有成员	(无)	(无)
保护成员	保护成员	保护成员
私有继承	公有成员	私有成员	(无)
私有成员	(无)	(无)
保护成员	私有成员	(无)
保护继承	公有成员	保护成员	保护成员
私有成员	(无)	(无)
保护成员	保护成员	保护成员
 

完整代码demo,请移步GitHub:DDGLearningCpp

当然C++大神就绕吧,非喜勿喷,毕竟这是个人的学习笔记📒