ToB企服应用市场:ToB评测及商务社交产业平台
标题:
c++学习笔记(四)
[打印本页]
作者:
没腿的鸟
时间:
2024-7-25 02:02
标题:
c++学习笔记(四)
目录
类 & 对象
封装
访问权限
类的构造函数&析构函数
构造函数的分类及调用
拷贝构造函数的调用时机
构造函数调用规则
深拷贝与浅拷贝
初始化列表
类对象作为类成员
静态成员
C++对象模型和this指针
成员变量和成员函数分开存储
this指针概念
空指针访问成员函数
const修饰成员函数
友元
全局函数做友元
类做友元
成员函数做友元
运算符重载
加号运算符重载
左移运算符重载
递增 / 递减运算符重载
赋值运算符重载
关系运算符重载
函数调用运算符重载
继续
根本语法
继续方式
构造和析构顺序
继续同名成员处理方式
多继续
菱形继续
多态
多态的根本概念
多态案例(一)——计算器类
纯虚函数和抽象类
多态案例(二)——饮品类
虚析构和纯虚析构
多态案例(三)—— 电脑组装
类 & 对象
c++面向对象的三大特征为:
封装、继续、多态
封装
封装的意义:
将属性和行为作为一个整体,体现生活中的事物(数据成员和方法)
将属性和行为加以权限控制(访问修饰符)
类中的属性和行为我们一般称为
成员
,属性为成员属性,行为是成员方法
这里以盒子为例,定义一个类,并声明两个对象
class Box
{
//访问权限
//公共权限
public:
//数据成员
double lenth; //长
double breadth; //宽
double height; //高
//方法
//求盒子体积
double cal_Volume()
{
return lenth * breadth * height;
}
};
int main()
{
Box box1; // 声明 box1,类型为 Box
Box box2; // 声明 box2,类型为 Box
//对象box1和box2都有他们各自的成员
}
复制代码
访问权限
类在计划时,可以把属性和行为放在差别的权限下来加以控制
访问权限有三种:
public 公共权限
其成员类内可以访问,类外可以访问
protected 保护权限
其成员类内可以访问,类外不可以访问,但在子类(派生类)中可以访问
private(默认) 私有权限
其成员类内可以访问,类外不可以访问,不可查看
class Person
{
public:
String name;
protected:
int age;
int id_card;//默认为private
public:
func()
{
name = "alen";
age = 26;
id_card = 114514;
}
};
int main()
{
Person p;
p.name = "walker";
p.age = 23;//报错,类外不能访问
p.id_card = 1919810;//报错,类外不能访问
}
复制代码
struct和class区别
两者的
唯一区别
在于
默认的访问权限
:
struct默认权限为公共
class默认权限为私有
class C1
{
int a; //默认是私有权限 private
};
struct C2
{
int a; //默认是公共权限 public
};
复制代码
成员属性设置为私有
优点:
将所有成员属性设置为私有,可以自己控制读写权限
对于写权限,我们可以检测数据的有效性
[code]class Person{ public: //设置名字 void setName(string name) { m_Name = name; } //设置偶像 void setIdol(string idol) { m_Idol = idol; } //设置年事 void setAge(int age) { if (age < 0 || age > 150) { cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4