【C++基础】什么是类和对象

c

C语言是个面向过程的程序设计,C++是面向对象的程序设计

类的概念

  • C++中的类是一种构造模型,与C的结构体相似,但进行了一些扩展,类的成员不但可以是对象还可以是函数;通过类定义的变量成为“对象”。

  • 类是创建对象的模板,这里同样与C的结构体的概念类似,一个类可以创建多个对象,每个对象都是类这一类型中的一个变量;创建对象的过程也叫类的实例化。

    • 如果理解不了,可以想象成C语言中的变量定义,C++中的类看为变量类型(如int),而对象就是int x;中的x。

类的模板

//类的定义
class 类名
{
public:
    公有数据;
protected:
    保护的数据;
private:
    私有数据;
};

C++通过public、protected、private三个关键字来控制成员变量或者成员函数的访问权限;这三个关键字分别对应着“公有”、“保护”、“私有”。

类的实例

#include <iostream>

using namespace std;

class Stu{
    //当不写关键字的时候,默认似有属性
    public:
        string name;
        int age;
        void fun1(void){
            cout<<"调用了类的函数"<<endl;
        }
    //protected:
    private:
        float heigh;
};

int main()
{
    //从栈中实例化对象
    Stu stu1;
    stu1.name="此乃刘同学";
    stu1.age=20;
    cout<<stu1.name<<stu1.age<<endl;
    //stu1.heigh = 182;         //报错:private是私有或者保护的,类创建的对象不能访问(权限)
    stu1.fun1();

    //从堆中实例化对象,需要用Delete来删除
    Stu *stu2 = new Stu;
    stu2->age = 18;
    cout<<stu2->age<<endl;
    delete stu2;        //如果不使delete来删除,则会在程序运行完成后释放内存
    return 0;
}

相关文章

【C++基础】构造函数与析构函数

类中的对象,不仅可以有变量,还可以有函数;那么构造函数与析构函数是两个特殊的函数。 构造函数 构造函数定义了一个名称与类名相同,没有返回值的函数,这个函数成为构造函数; 它会在类的实例化中被调用。 析构函数定义则是一个名称比类名多一个“~”的函数,同样没有返回值;构造函数在对象实例化的时候调用,析构函数则是在对象被销毁的时候调用。 ``` #include<iostream> c...

c

【C++基础】类的继承

继承的概念 什么是继承:日常生活中儿子继承父亲,这个就是继承。 - 什么是基类和派生类 创建新类时,并不需要创建全新的数据和成员函数,我们可以指明这个新类继承现有类的成员。此时,现有的类称为“基类”(父亲),继承实现的新类称为“派生类”(儿子)。 _白话解释:创建一个孩子时,并不需要重新构造各种身体特征,可以直接表明这个孩子是某个活着的父亲的。那么孩子就可以和这个父亲在某些方面比较像。_...

c

【C++基础】函数重载

概念 在同一个作用域内,声明几个功能类似的**同名函数**,并且这些同名函数的**参数个数、参数类型或参数顺序不同,或者函数返回类型不同**,那么就叫函数重载。 _白话说明:函数就是可以看成一个人,这个人都叫刘bin,但是他们并不一样。_ 函数重载示例 ``` #include <iostream> using namespace std; class Stu { public:...

c