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