- 博客(8)
- 收藏
- 关注
原创 C++语法系列 类和对象Ⅴ 多态
多态基本概念动态多态的满足条件动态多态的使用动态多态的原理浅析纯虚函数和抽象类虚析构和纯虚析构 基本概念 多态分为两种 静态多态 函数重载和运算符重载属于静态多态,复用函数名。编译时确定函数地址 动态多态 用子类和虚函数实现运行时多态,运行时确定函数地址。 父类的指针或引用指向子类的对象,根据子类的不同,来确定调用的具体是谁的函数。 //动态多态 class Animal { public: virtual void speak(){ cout << "动物在说话
2021-10-15 09:36:50
75
原创 C++语法系列 类和对象Ⅳ 继承
语法 // class 子类名称 : 继承方式 父类名称 {} class Student: public Person {}; 继承方式 前提: 父类中的私有成员无论采用哪种继承方式,都不会被继承 公共继承 父类中各成员的访问权限不变 保护继承 父类中除私有成员外,其他成员的访问权限都变成protected 私有继承 父类中各成员均继承为private成员 继承中的对象模型 class Father { public: int a; protected: int b; pri
2021-10-13 15:03:16
72
原创 C++语法系列 类和对象Ⅲ 运算符重载
运算符重载 概念:对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型 加法运算符重载 class Person { public: int A; int B; /*Person addPerson(Person& p) const { //将此函数命名为operator+ 即完成加号运算符的重载 Person tmp{}; tmp.A = this->A + p.A; tmp.B = thi
2021-10-13 14:58:18
64
原创 C++语法系列 类和对象Ⅱ
C++对象模型 成员变量和成员函数分开存储 只有普通成员变量才属于对象,函数和静态成员变量都不属于对象 class Person{ public: int a; int b; char c; void prt() { cout << a << endl << b << c; } }; class VD{ }; void test() { Person p; VD v; co
2021-09-23 16:43:29
60
原创 C++语法系列 函数
函数 默认参数 参数列表中,如果某个位置有了默认参数,则其右侧所有的参数必须有默认值 如果函数声明有默认参数,则函数实现就不能再写一次默认参数,即只能写一次 占位参数 语法:返回值 函数名(数据类型){}; 作用:调用函数时,必须写上相应的参数 注意:占位参数也可以有默认值 函数重载的注意事项 参数列表中包含引用 void func(int & a){ cout << "func()" << endl; } void func(const int &am
2021-09-18 18:24:23
76
原创 C++语法系列 类和对象Ⅰ
类和对象 将事物的属性和行为写在一起,放在类里,来表现事物 const double PI = 3.14159; class Circle{ //访问权限 public: //属性 int r; //行为(函数) double getP(){ return 2 * PI * r; } }; // ⚠️ 这里有一个分号 int main(){ //借助Circle类,创建一个圆(即一个对象) Circle c1; c1.r = 5; cout << c1
2021-09-18 18:16:52
95
原创 C++语法系列 引用
引用 C++推荐使用引用,因为语法简洁,其本质是指针常量,但编译器帮我们完成了有关指针的操作 用途:给变量起别名,简化地址传递 语法:数据类型& 别名 = 原名; int a = 10; int &b = a; b = 20; cout << a << endl; //20 cout << &a << endl << &b << endl; //输出的两个值是一样的 引用的本质 //引用的本质
2021-09-18 17:57:06
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人