![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 74
xie_star
喜欢新鲜的生活
展开
-
二、C++动态联编-类指针(引入虚拟函数)
看来,基于动态联编的机制,使用函数指针就可以编写出相对通用的程序模块。然而,在面向对象的程序设计中,类成为封装功能模块的基本单位。所以不仅需要对函数指针进行动态联编,更需要对类指针进行动态联编。编译器对虚拟函数采用动态联编的方式。示例代码://定义一个基类,名为CDispDecimal。该类封装一个// 整型数据成员Number、一个虚拟函数virtual Displa原创 2013-12-06 10:57:01 · 804 阅读 · 0 评论 -
标准C程序设计-格式化输入
4 输入输出操作管理 4.2 格式化输入/** 功能:格式化输入 知识点:%wd、%wf、%wc、%ws 版本:2014/06/19*/#include #include int main(){ int a,b,c; float x,y; double z; char name_1[15], name_2[15], name_3[15]原创 2014-06-29 17:53:29 · 808 阅读 · 0 评论 -
标准C程序设计-格式化输出
4 输入输出操作管理 4.1格式化输入输出代码示例:/** 功能:格式化输出函数printf 时间: 2014/06/18%d 有符号十进制整数%i 有符号十进制数(与%d相同)%o 无符号八进制整数%x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号十六进制整数%a 浮原创 2014-06-29 17:21:50 · 996 阅读 · 0 评论 -
标准C程序设计-命令行参数
什么事命令行参数?所谓命令行参数是指,当程序jihuo原创 2014-06-29 17:52:37 · 1199 阅读 · 0 评论 -
标准C程序设计-链表3
C语言题目:构建一个递增排序的链表原创 2014-06-29 16:52:39 · 696 阅读 · 0 评论 -
C++双冒号::的作用
1、作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有成员member。那么 A::member就表示类A中的成员member B::member就表示类B中的成员member2、全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可转载 2014-07-01 16:20:57 · 696 阅读 · 0 评论 -
【排序算法】选择排序(C++实现)
选择排序算法就是每一趟从待排序的记录中选出关键字最小(最大)的记录,顺序放在已排好序的子文件的最后(最前),直到全部记录排序完毕。常见的选择排序有直接选择排序(Selection Sort),堆排序(Heap Sort),平滑排序(Smooth Sort),笛卡尔树排序(Cartesian Sort),锦标赛排序(Tournament Sort),循环排序(Cycle)。下面介绍前两种:(转载 2014-06-13 20:06:06 · 886 阅读 · 0 评论 -
C++用new创建对象和不用new创建对象的区别解析
在C++用new创建对象和不用new创建对象是有区别的,不知你是否清楚的了解它们到底有什么样的区别呢?下面小编就用示例来告诉大家吧,需要的朋友可以过来参考下我们都知道C++中有三种创建对象的方法,如下:复制代码代码如下:z#include using namespace std;class A{priv转载 2014-07-07 20:51:32 · 1197 阅读 · 0 评论 -
C++:在堆上创建对象,还是在栈上?
如果需要在堆上创建对象,要么使用new运算符,要么使用malloc系列函数。这点没有异议。真正有异议的是下面的代码:Object obj;转载 2014-07-07 20:54:41 · 909 阅读 · 0 评论 -
C++构造函数中的初始化:C++构造函数后面的冒号
很多的人对中构造函数寝初始化很多的困惑,对冒号后初始化不是太明白,总搞不清楚它们之间的区别,我想把我对这个问题的理解和看法和大家讨论讨论。 在程序中定义变量并初始化的机制中,有两种形式,一个是我们传统的初始化的形式,即赋值运算符赋值,还有一种是括号赋值,如: int a=10; char b='r';//赋值运算符赋值 int a(10);/ ch转载 2014-07-08 15:21:35 · 1263 阅读 · 0 评论 -
控制台程序的中文输出乱码问题,printf,wprintf与setlocale
#include #include int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("1:%s\n", str); wprintf(L"2:%s\n", wstr); return 0;}转载 2014-06-18 19:56:33 · 13747 阅读 · 2 评论 -
通过实例分析C++中的析构函数
实例源代码heap_data_member.cpp/************************************* Critter Farm version: 1.0 ------------------------- Heap Data Member Demonstrates an object with a dynamically allocated dat原创 2014-07-11 20:03:07 · 1949 阅读 · 2 评论 -
标准C程序设计(一)
一直在用Java原创 2014-06-28 16:24:20 · 717 阅读 · 0 评论 -
标准C程序设计(六)
11 指针 11.1 理解指针 在C语言中,指针是一种派生数据类型。它是从C语言的一种基本数据类型创建而来的。指针以内存地址作为其值。由于内存地址表示在计算机内存中保存程序指令和数据的位置,因而可用指针来直接访问和操作存储在内存中的数据。指针相关的基本概念: 计算机的内存地址指的是指针常量(pointer constant)。我们不能修改他们,只能用来存储数原创 2014-06-28 17:30:01 · 739 阅读 · 0 评论 -
标准C程序设计-链表2
题目:编写函数,把给定数据项插入到zhidin原创 2014-06-28 20:01:41 · 668 阅读 · 0 评论 -
C++动态联编-函数指针
在C++编译时,对于常规的函数调用,编译器在函数的调用出插入函数的相对地址,程序运行时可以有函数的相对地址计算出函数的绝对地址,这样函数可以被正确调用。这种在编译时就确定函数地址的联编过程叫做静态联编。动态联编是指在程序编译时,编译器并不知道函数的相对地址,调用函数的相对地址只有在程序运行时才能确定。例如在如下示例中的DisplayNumber()函数体内,编译器并不知道DisplayFormat原创 2013-12-05 20:58:29 · 1255 阅读 · 0 评论 -
标准C程序设计(四)
9 用户自定义函数 9.1 返回多个值的函数 一般我们使用return语句只能返回一个值,假设我们需要从函数中获得更多的信息该怎么办?在C语言中,我们可以使用参数,不仅接收信息,而且还往调用函数返回信息。用于返回信息的参数称为输出参数。使用地址运算符(&)和间接运算符(*)可以实现。如下:void mathoperation(int x, int y, int *sum,原创 2014-06-28 17:20:23 · 731 阅读 · 0 评论 -
标准C程序设计(五)
10 结构体与共用体 10.1 结构体的定义 数组可以用来表示一组相同类型的数据项。但是,如果要用一个名称来表示不同类型的数据集合,就不能用数组了。C语言支持一种结构化的数据类型,称为结构体。它是一种封装不同类型的数据的机制。结构体的概念类似于其他很多语言中“记录”。 与数组不同,必须首先定义结构体的格式,然后在声明结构体的变量。结构体定义和结构体变量创建过程。如下:原创 2014-06-28 17:25:23 · 919 阅读 · 0 评论 -
标准C程序设计(八)
13 动态内存分配与链表 13.1 动态内存分配C语言要求在编译时指定数组元素的个数。但我们往往无法在最初判断数组大小,可能导致程序的失败或内存空间的浪费。如果能在运行时分配内存空间(即动态内存分配)就可以避免浪费。尽管C语言本身不具备这种能力,但它有4个名为“内存管理函数”的库例程,可以用来在程序运行时分配和释放内存。表 13.1 内存分配函数函数任原创 2014-06-28 19:26:20 · 714 阅读 · 0 评论 -
标准C程序设计(七)
12 文件管理 12.1 概述 在C语言中,有两种不同的方法来执行文件操作。第一种称为低级I/O,使用UNIX系统调用。第二种指的是高级I/O,使用C语言的标准I/O库函数。表 12.1函数名操作fopen创建一个文件,打开一个已有的文件fclose关闭一个已打开的文件getc从文件中读取一个字符原创 2014-06-28 17:43:15 · 902 阅读 · 0 评论 -
标准C程序设计-链表
编写一个完整的lian原创 2014-06-28 19:55:50 · 862 阅读 · 0 评论 -
标准C程序设计(三)
8 字符数组与字符串 8.1 字符串变量的声明与初始化 char city[9] = "New Yourk";char city[9] = {'N', 'e', 'w', 'Y', 'o', 'r', 'k', '\0'};数组city的大小必须为9个的原因,当编译器把字符串符赋给字符数组时,会自动的在字符串的末尾添加空字符('\0')。字符串New York含有8个字符,原创 2014-06-28 17:08:11 · 768 阅读 · 0 评论 -
标准C程序设计—define和typedef区别
代码示例:/** 版本: 2014/06/18 功能: 温度转换问题 关键: define和typedef的使用*/#include #include //符号常量 #define F_LOW 0#define F_MAX 250#define STEP 25int main(){ typedef float REAL; //类型定义 R转载 2014-06-28 16:40:39 · 796 阅读 · 0 评论 -
标准C程序设计(二)
5 数组 5.1 二维数组的初始化 int table[2][3] = {0, 0, 0, 1, 1, 1};//数组的初始化是逐行进行的int table[2][3] = {{0, 0, 0}, {1, 1, 1}};int table[2][3] = { {0, 0, 0}, {1, 1, 1}};//如果数组的所有元素都显示的进行了原创 2014-06-28 17:02:44 · 616 阅读 · 0 评论 -
标准C程序设计(十)
14 预处理器 14.1 预处理器是一个程序,在源代码通过编译器之前,他先对源代码进行处理。他是在称为预处理器命令行或指令的控制下操作。预处理器指令放在源程序的main函数之前。在源代码通过编译器之前,由预处理器检查所有预处理指令。如果有预处理指令,则采取相应的动作,然后再把源程序交给编译器。表14.1 预处理指令指令作用#define定义一个原创 2014-06-28 19:37:25 · 655 阅读 · 0 评论 -
标准C程序设计(九)
13.6 链表 13.6.1 链表的概念 我们知道,列表是指按序组成的项集。数组就是一种列表。在数组中,其顺序是由其索引隐式的给定的。我们就是使用索引来访问和操作数组元素的。关于数组的一个重要问题是数组的大小必须在开始时就精确的指定。正如前面所指出,这在很多实际的应用中是件困难的事。 一个完全不同的列表表示方法是用结构体表示一个列表成员,它含有指向下一个结构体的“链接”,原创 2014-06-28 19:44:56 · 606 阅读 · 0 评论 -
通过实例分析C++的拷贝构造函数
对象有时是被自动复制的。自动复制发生在对对象作出以下操作时:(1)通过值传递给函数(2)从函数返回(3)通过初始式初始化为另一个对象(4)作为唯一实参传递给对象的构造函数对象的复制是通过一个名为拷贝构造函数的成员函数来完成的。与构造函数和析构函数一样,如果不编写自己的拷贝构造函数,则编译器为程序员提供一个默认拷贝构造函数。默认拷贝构造函数只是简单的将每个数据成员的值复制给新对象原创 2014-07-11 20:05:47 · 881 阅读 · 0 评论