类和对象-封装
没有金刚钻,也木有刷子
个人学习记录而已,主要供自己查看,如有不当请见谅。
展开
-
拷贝构造函数调用时机
1.c++中拷贝构造函数调用时机通常有三种情况使用一个已经创建完毕的对象来初始化一个新对象 值传递的方式给函数参数传值 以值方式返回局部对象#include<iostream>using namespace std;class Person{public: //构造函数 Person() { cout << "Person的无参构造函数的调用" << endl; } Person(int age) { m_age = age;原创 2021-02-22 17:10:05 · 155 阅读 · 0 评论 -
构造函数的分类及调用
1.两种分类方式:按参数分为:有参构造和无参构造 按类型分为:普通构造和拷贝构造2.三种调用方式:括号法 显示法 隐式转换法#include<iostream>using namespace std;//1.构造函数的分类和调用//分类// 按照参数分类 无参构造(默认构造)和有参构造// 按照类型分类 普通构造和拷贝构造class Person{public: //构造函数 Person() { cout << "Person原创 2021-02-22 16:03:19 · 195 阅读 · 0 评论 -
构造函数和析构函数
1.构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用。2.析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作3.构造函数语法: 类名(){ }构造函数没有返回值也不写void 函数名称与类名相同 构造函数有参数,因此可以发生重载 程序在调用对象时候会自动调用构造,无需手动调用,而且只会调用一次4.析构函数语法: ~类名(){ }析构函数没有返回值也不写void 函数名称与类名相同,在名称前加上符号~ 析构函数不可以有参数..原创 2021-02-22 15:23:48 · 177 阅读 · 0 评论 -
类和对象-封装-c++中class和struct的区别
1.区别:默认的访问权限不同struct 默认权限为公共 class 默认权限为私有#include<iostream>using namespace std;//class代表一个类,后面紧跟类名class C1{ int m_a;//默认权限为私有private};struct C2{ int m_a;//默认权限为公共public};int main(){ C1 c1; C2 c2; //c1.m_a = 10; 因为c1类的成员m_a为私有,原创 2021-02-21 17:19:26 · 139 阅读 · 1 评论 -
类和对象-封装-访问权限
1.访问权限public 公共权限 类内类外都可以访问 protected 保护权限 类内可以访问,类外不可以访问,儿子可以访问父亲中的保护内容 private 私有权限 类内可以访问,类外不可以访问,儿子不可以访问父亲的私有内容#include<iostream>using namespace std;//class代表一个类,后面紧跟类名class Person{ //公共权限public: string m_na...原创 2021-02-21 14:57:44 · 92 阅读 · 0 评论 -
类和对象-封装-封装的意义
1.封装的意义将属性和行为作为一个整体,表现生活中的事务;类中的属性和行为我们统称为成员 将属性和行为加以权限控制 语法:class 类名{ 访问权限:属性 / 行为 }; //(具有相同性质的对象,我们可以抽象为类)#include<iostream>using namespace std;const double PI = 3.14;//设计一个园类,求其周长//class代表一个类,后面紧跟类名class Circle{ //访问权限。这里仅包含公共权限pu原创 2021-02-21 14:41:52 · 378 阅读 · 0 评论 -
类和对象-封装-设计案例-点和圆的关系
1.实现一#include<iostream>using namespace std;//判断点和圆的关系class Point{public: void setx(int x) { m_x = x; } int getx() { return m_x; } void sety(int y) { m_y = y; } int gety() { return m_y; }private: int m_x; int m_y;};原创 2021-02-22 14:51:19 · 277 阅读 · 0 评论 -
类和对象-封装-设计案例-立方体类
#include<iostream>#include<string>using namespace std;//class代表一个类,后面紧跟类名class Cube{public: void setm_l(int l) { m_l = l; } int getm_l() { return m_l; } void setm_w(int w) { m_w = w; } int getm_w() { return m_w; }.原创 2021-02-21 19:23:02 · 152 阅读 · 0 评论 -
类和对象-封装-成员属性私有化
1.优点:将所有成员权限设置为私有,可以自己控制读写权限 对于写权限,我们可以检测数据的有效性#include<iostream>#include<string>using namespace std;//class代表一个类,后面紧跟类名class Person{public: //设置姓名 可写 void setname(string name) { m_name = name; } //获取姓名 可读 string getname()原创 2021-02-21 17:46:09 · 131 阅读 · 0 评论