
C++
C++语言笔记
乌托邦的犬次郎
这个作者很懒,什么都没留下…
展开
-
C++笔记(十二):C++命名空间
命名空间在编写代码的时候,我们写一些函数,已经存在了,但我们又不想重新给它命名。使用命名空间来区分所使用的变量、函数、类,把名字相同的变量放在不同的命名空间里面,在调用的时候,声明它的命名空间,编译器就能对应的变量。命名空间的作用:方便管理资源;防止程序中出现名字冲突;防止全局声明污染;命名空间的成员:变量;类、结构体;命名空间;数据类型;函数命名空间的声明:na...原创 2020-02-21 13:28:48 · 154 阅读 · 0 评论 -
C++笔记(十一):C++异常处理
异常处理异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。throw: 当问题出现时,程序会抛出一个异常。通过使用 throw 关键字来完成的,抛出的异常可以是整数、字符串、类。catch: 在您想要处理问题的地方,通过异常处理程序捕获异常...原创 2020-02-20 22:25:24 · 115 阅读 · 0 评论 -
C++笔记(十):C++友元
友元通常情况下,我们不能随意使用类内部的成员。但在某一些情况下,我们又需要去访问类成员。将函数或类定义成友元,就可以使用类的成员。不管是 public、protected还是private,友元都可以使用。虽然友元的声明在类内部,但友元不属于类成员。友元可以是某一个类、类成员函数、全局函数;友元是让其它不属于本类的成员(其它类、其它类成员函数、全局函数)成为类的成员而具备了本类成员的属性;友...原创 2020-02-20 20:28:51 · 168 阅读 · 0 评论 -
C++笔记(九):C++虚函数
虚函数虚函数是在基类中使用关键字virtual声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。纯虚函数在基类中定义虚函数,以便在派生类中重新定义该函数更好地适用于对象,但是在基类中又不能对虚函数给出有意义的实现,这个时候就会用到纯虚函数。纯虚函数的声明:virtual void eat() = 0;使用虚函数/纯虚函数的意义:实现C++多态性...原创 2020-02-20 16:06:42 · 209 阅读 · 0 评论 -
C++笔记(八):C++动态绑定
动态绑定在C++中,若派生类中有与基类重名的函数,则使用派生类的;这叫函数覆盖;补充一点:函数重载是发生在不同函数之间;函数覆盖是发生在基类与派生类之间;例:#include <iostream>class Animal{public: Animal() { std::cout << "animal init" <<...原创 2020-02-20 14:35:56 · 165 阅读 · 0 评论 -
C++笔记(七):C++继承
继承C++中通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。这使得维护和创建一个应用程序变得比较容易。基类&派生类一个类可以派生自一个或多个基类。定义一个派生类,我们使用一个类派生列表来指定基类。形式如下:class derived-class: access-specifier base-class例:...原创 2020-02-20 13:25:43 · 242 阅读 · 0 评论 -
C++笔记(六):C++重载操作符
重载操作符在C++中,我们可以重载函数,也可以重载操作符;在C++中大部分的操作符是可以重载的,只有5个不可以;可以重载的操作符有42个:不可以重载的操作符有5个:.:成员访问运算符.*, ->*:成员指针访问运算符:::域运算符sizeof:长度运算符?::条件运算符#: 预处理符号重载操作符的注意事项:有四个操作符必须定义为类成员函数: =、[]、()、-&...原创 2020-02-19 20:50:54 · 419 阅读 · 0 评论 -
C++笔记(五):static类成员
static类成员在设计一个类的时候,我们希望某些属性是所有对象共用的,而不是不同对象有不同地属性。那我们可以使用static关键字进行声明,使这个类成员变成静态成员。例如:存在银行里的钱,都有相同的利息,不会因为账户的不同而利息不同。我们在生成银行账户这个对象时,此时就希望它的利息这个成员是共用的。static关键字的特点:实现多个对象资源共享;在程序运行时,带有static关键字的...原创 2020-02-19 20:16:29 · 144 阅读 · 0 评论 -
C++笔记(四):深复制/浅复制/智能指针
深复制/浅复制/智能指针深复制/浅复制类的定义:class Dog {public: Dog(const Dog &str); void SetAge(int age); void ShowAge(); void SetName(char *name); void ShowName(); Dog(char *name,int age); Dog(); virt...原创 2020-02-19 19:35:03 · 1896 阅读 · 2 评论 -
C++笔记(三):C++类
类C++中的类包含:类成员、构造函数、析构函数、成员函数以及它们的访问属性public、private、protected。类成员缺省private。类的定义:class Dog {public: Dog(const Dog &str); void SetAge(int age); void ShowAge(); void SetName(char *name); v...原创 2020-02-14 14:38:01 · 427 阅读 · 0 评论 -
C++笔记(二):C++数据类型
C++基本数据类型C++字符串在C++程序中有两种类型的字符串:C风格字符串string类型字符串C风格字符串在C++程序中,依然可以像C语言一样使用字符串,例: char s[] = "Hello string\n"; or char s[14] = {'H','e','l','l','o',' ','s','t','r','i','n','g','\n','\0'};...原创 2020-02-13 13:04:31 · 188 阅读 · 0 评论 -
C++笔记(一):C++入门
1、C++简介C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。C++特性C++相较于C,最主要的区别是引入...原创 2020-02-13 12:27:28 · 276 阅读 · 0 评论