https://m.toutiao.com/is/DasuW2H/
C++是一种面向对象的编程语言,其中类和对象是面向对象编程的基本概念之一。
C++面向对象的三大特性为:封装、继承、多态,C++认为万事万物都皆为对象,对象上有其属性和行为。
举个例子:大伙的女朋友可以抽象为一个女朋友类,属性有姓名、年龄、身高、体重…,行为有唱、跳、rap…,而你的女朋友就是对象,具体的姓名叫做小芳,年芳18,黄金身材。这就是类的具体化,也叫作实例化过程。
如何创建一个类| 基本语法
在C++中,我们可以使用关键词 class 来创建一个类。下面是一个简单的类的定义示例:
这个类叫做 GirlFriend,包含了两个属性 m_name 和 m_age,以及三个方法 sing(),jump(),rap()。类中声明,类外实现的函数必须用类名限定,其中 public,protected,private 是访问控制修饰符
如何创建一个类| 访问控制修饰符
在C++中,有三个访问控制修饰符:public、private 和 protected。它们的作用是限制对象的属性和方法在哪些地方可以被访问。
目前来说只需要知道,类外对象只能访问public下面的属性和方法。protected和private都不可访问,后续继承中protected和private会有所不同。
C++对象的创建是由构造函数完成的,下一章节做详细讲解,目前学会创建无参对象即可,创建一个无参对象的方法很简单,把类名当做一个新的数据类型即可,一般有以下两种方式
C++类的对象访问属性和方法非常简单,和C语言结构体一样的方式,如果是普通对象用.访问,如果是对象指针用->访问。如下测试代码:
#include <iostream>#include <string>class GirlFriend { int m_money;public: void sing() { std::cout << 'Sing' << std::endl; }protected: std::string m_name;private: int m_age;};int main(){ //new一个对象 GirlFriend* p = new GirlFriend; //创建一个对象 GirlFriend object; //外部访问:只能访问public属性 p->sing(); object.sing(); //默认属性是private不可访问 //以下代码错误 //object.m_money; return 0;}
C++类中属性的初始化通常是由构造函数完成,暂时没讲构造函数,可以看看以下三种属性操作方式:
如下测试代码:
#include <iostream>#include <string>class GirlFriend { //1.直接给默认值 int m_money=0;public: //2.传参操作数据 void setData(std::string name, int age, int money) { m_name = name; m_age = age; m_money = money; } //3.返回引用 std::string& getName() { return m_name; } int& getAge() { return m_age; } int& getMoney() { return m_money; } void print() { std::cout << m_name<<'\t'<< m_age<<'\t'<< m_money << std::endl; }protected: std::string m_name='默认';private: int m_age=0;};int main(){ GirlFriend object; object.print(); object.setData('baby', 18, 100); object.print(); object.getName() = 'moying'; object.getAge() = 16; object.getMoney() = 100; object.print(); return 0;}
运行结果如下:
如果阁下正好在学习C/C++,看文章比较无聊,不妨关注下关注下小编的视频教程,通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势。
联系客服