随笔分类 - Hello,C++
C++primer,qt,算法,项目的练习和总结
摘要:1、读取数量不定的输入数据 或者用getline代替>> 读取一行内容,保留输入的空白符,而string对象会忽略开头的空白 2、声明和定义的关系 声明:使得名字为程序所知,规定对象的类型和名字 定义:创建与名字相关的实体,申请存储空间 变量只能被定义一次,但可以有多次声明; 任何包含了显式初始化的
阅读全文
摘要:C++的类型转换 1、 类型转换名称和语法 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 static_cast 静态类型转换。如int转换成char reinter
阅读全文
摘要:函数模板和类模板 1、介绍 1)C++提供两种模板机制:函数模板、类模板 2)作用:使类型参数化,又称参数模板 使得程序(算法)可以从逻辑功能上抽象,将数据类型作为参数传递。 总结: 模板把函数或类要处理的数据类型参数化,表现为参数的多态性,称为类属。 模板用于表达逻辑结构相同,但具体数据元素类型不
阅读全文
摘要:纯虚函数和抽象类 下面通过一个例子来说明纯虚函数的定义方法 在这个类当中,我们定义了一个普通的虚函数,并且也定义了一个纯虚函数。那么,纯虚函数是什么呢??从上面的定义可以看到,纯虚函数就是没有函数体,同时在定义的时候,其函数名后面要加上“= 0”。 纯虚函数的实现原理 本节从虚函数表的角度来说明纯虚
阅读全文
摘要:多态 问题引出: 如果子类定义了与父类中原型相同的函数会发生什么?(赋值兼容性原则遇上函数重写) 函数重写: 在子类中定义与父类中原型相同的函数,函数重写只发生在父类与子类之间。 父类中被重写的函数依然会继承给子类 默认情况下子类中重写的函数将隐藏父类中的函数 通过作用域分辨符::可以访问到父类中被
阅读全文
摘要:继承 类之间的关系:包含、使用、继承 继承重要说明 1)子类继承了父类的全部成员变量和成员方法(除了构造和析构之外的成员方法) 2)子类可以拥有父类没有的方法和属性 3)父类若有带参数的函数,可以将子类作为参数传递进去) 4)子类就是一种特殊的父类,子类对象可以当作父类对象使用 (儿子至少比父亲强:
阅读全文
摘要:1、带参数的宏 关于#define的具体用法: #define命令是C语言中的一个宏定义命令,它用来将一个宏名替换为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义只做字符替换,不分配内存空间。 该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。 (1)简单的宏定义:
阅读全文
摘要:类和对象 1、 基本概念 a)封装 概念:1、把属性和方法封装成类 2、对属性和方法进行访问控制 类成员的访问控制:C++中可以给成员变量和成员函数定义访问级别 Public修饰成员变量和成员函数可以在类的内部和类的外部被访问:完全公开 Private修饰成员变量和成员函数只能在类的内部被访问:基类
阅读全文
摘要:1、C++对C的扩展 1)C++需要命名空间 namespace,是指标识符的各种可见范围 using namespace std;这样命名空间std内定义的所有标识符都有效(曝光),就好像它们被声明为全局变量一样。 2)C++命名空间的使用 使用整个命名空间:using namespace nam
阅读全文
摘要:准备开始C++ 1、visual stdio IDE 1、visual stdio IDE 新建项目:文件——新建——项目 (win32控制台程序,位置路径最好是全英文,空项目) 新建文件:在源文件下添加.cpp 调整代码字体:工具——选项——字体和颜色 新建项目:文件——新建——项目 (win32
阅读全文