封装:

  1、把属性和方法进行封装。

  2、对属性和方法进行访问控制。

class和struct的区别:

  class和struct的唯一区别是默认的访问权限不一样。struct的默认访问权限是public,class的默认访问权限是private。

访问控制符:

  1、public:成员在整个程序内可以被访问,public成员定义类的接口。

  2、private:成员可以被类的成员函数访问,但不能被使用该类的代码访问,private部分封装了类的实现细节。

  3、protected:成员可以被类和派生类访问,但不能被使用该类的代码访问。

类的构造函数:

  1、构造函数的名字与类名相同。

  2、构造函数在定义时可以有参数也可以无参,但没有任何返回类型的声明。

  3、构造函数在变量定义时自动调用。

class Test
{
public:
Test() = default;//类中定义了有参构造函数后系统将不会产生默认构造函数,Test() = defualt可以重新产生默认构造函数。
Test(int num);
};

类的析构函数:

  1、析构函数的名字与类名相同,名字头加~。

  2、析构函数没有参数也没有任何返回类型的声明。

  3、析构函数在对象销毁时自动被调用。

class Test
{
public:
~Test();
};

类的拷贝构造函数:

class Test
{
public:
Test(const Test &obj);//一种特殊的构造函数,用一个对象出事化另一个对象,也存在深浅拷贝问题,编译器提供的是浅拷贝
}; class Test2
{
public:
Test2(char name, int num);
Test2(char name) :Test2(name, ){} //委托构造函数
};

拷贝构造函数被调用的时机:

1. 当用类的一个对象去初始化该类的另一个对象(或引用)时系统自动调用拷贝构造函数实现拷贝赋值。

Test t1;

Test t2(t1);
Test t3 = t1;

2. 若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。

3. 当函数的返回值是类对象时,系统自动调用拷贝构造函数,同时返回一个匿名对象。

  匿名对象的生命周期只存在于一行,当无类变量接时,将会直接调用析构函数;当有类变量接时,会直接将匿名变量转换成类变量。

类的组合:

class A
{
public:
A(int index)
{
this->a = a;
} private:
int a;
}; class B
{
public:
B(int a1Init, int a2Init) :a1(a1Init), a2(a2Init), b()//类的初始化列表,含有其他类(带有参构造函数)和const变量必须使用类的初始化列表进行初始化
{
;
} private:
A a1;
A a2;
const int b;
};

类的组合的调用顺序:

  1、当类中有成员变量是其它类的对象时,首先调用成员变量的构造函数,调用顺序与声明顺序相同,之后调用自身类的构造函数。

  2、析构函数的调用顺序与对应的构造函数调用顺序相反。

  

C++学习笔记3——类的封装(1)的更多相关文章

  1. 学习笔记 Java类的封装、继承和多态 2014.7.10

    1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...

  2. C++学习笔记4——类的封装(2)

    简介: 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.其中一元运算符有一个参数,二元运算符有两个参数. 可以被重载的运算符 + - * / % ^ ...

  3. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  4. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  5. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  6. UML学习笔记:类图

    UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...

  7. swift学习笔记3——类、结构体、枚举

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  8. .net学习笔记---HttpRuntime类

    HttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication. 其定义如下: publi ...

  9. C++ Primer 学习笔记_57_类和数据抽象 --管理指针成员

    复印控制 --管理指针成员 引言: 包括指针的类须要特别注意复制控制.原因是复制指针时.一个带指针成员的指针类 class HasPtr { public: HasPtr(int *p,int i): ...

随机推荐

  1. C#与java中的集合区别

    集合一般的操作       插入: add       删除: remove       查找: contains,remove java中的集合 注意哪些是接口,哪些是实现类 使用集合的时候 1. ...

  2. hdu 4424 & zoj 3659 Conquer a New Region (并查集 + 贪心)

    Conquer a New Region Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...

  3. Excel导入数据库(三)——SqlBulkCopy

    上篇博客中介绍了批量导入数据库的方法:下面介绍一下批量导入过程的核心——SqlBulkCopy类. 下面先介绍一些原理性的东西:SQLBulkCopy类,通常用于数据库之间大批量的数据传递.即使表结构 ...

  4. ZOJ3329之经典概率DP

    One Person Game Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge There is a very ...

  5. HDU - 4815 Little Tiger vs. Deep Monkey (长春赛区C题)

    题意:有A,B两个人.n道题目.每题有相应的分数.B答对题目的概率是0.5.求A不输给B的概率不小于P要拿的最低分数 思路:DP,dp[i][j]来表示B答了前i题后分数为j的概率,,然后通过B的概率 ...

  6. [Angular 2] Validation

    Define a filed should has validation: export class DemoFormSku { myForm: ControlGroup; sku: Abstract ...

  7. JNI之本地线程进入c层

    在JNI开发中有时候会遇到在c层创建小线程的情况.从本质来讲,java线程和c线程都是请求kerner获取的,只是一段执行序列.从这个角度看,线程并没有什么不同,java线程和c线程可以通用. 然而在 ...

  8. iOS多线程编程之GCD的使用

    什么是线程呢? 1个CPU执行的CPU命令列为一条无分叉的路径即为线程. 这种无分叉路径不止1条,存在多条时即为多线程. 什么是GCD? Grand Central Dispatch (GCD)是异步 ...

  9. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  10. 制作Android Demo GIF:程序演示效果GIF图录制

    [转] 制作Android Demo GIF:程序演示效果GIF图录制   在平时写博客或者分享自己写的程序效果的时候经常需要做成GIF图,以下就是介绍几种常用的GIF录制方法: 一.录制工具 1.( ...