
C/C++
文章平均质量分 78
饭饭yes
初学者
展开
-
智能指针
智能指针就是智能/自动化的管理指针所指向的动态资源的释放#include#includeusing namespace std;//****************资源转移******************//最好不要使用,会因为释放野指针造成程序奔溃templatetypename T>class AutoPtr{public: AutoPtr( T* ptr )原创 2016-05-28 16:10:07 · 210 阅读 · 0 评论 -
初识C++之继承
1、何为继承 C++中所谓继承,就是在一个已存在类的基础上创建一个新的类,新类获得已存在类的部分特性(为什么是部分特性,后面会讲到)。已存在类被称为基类(Base Class)或父类(Father Class),新建类被称为派生类(Derived Class)或子类(Son Class)。 继承的声明形式: class 派生类名:[继承方式] 基类列表 { 派生转载 2016-06-10 11:38:26 · 259 阅读 · 0 评论 -
初识C++之虚函数
1、什么是虚函数 在基类中用virtual关键字修饰,并在一个或多个派生类中被重新定义的成员函数,用法格式为: virtual 函数返回类型 函数名(参数表) { 函数体 } 虚函数是实现多态性的关键,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。 看两个例子: ①没有定义基类的Fun函数为虚函数:#d转载 2016-06-10 11:35:20 · 420 阅读 · 0 评论 -
C初级阶段练习题目(二)
//***********11、有1,2,3,4排成三位数,无重复且互不相同**************intmain(){ inti = 0; intj = 0; intk = 0; intcount = 0;原创 2016-05-30 17:58:12 · 397 阅读 · 0 评论 -
C初级阶段练习题目(三)
//***********************21、求一个3*3矩阵对角线元素之和**********************intmain(){ inti, j; intsum1 = 0; intsum2 = 0; i原创 2016-06-09 20:04:27 · 349 阅读 · 0 评论 -
C初级阶段练习题目(一)
以下是最近整理了一下C语言初级阶段写过的题,最近又做了一遍,开始学C语言的童鞋可以看看哈后续一些C语言的题我复习完了也会陆续发上来//*****************1、在屏幕上输出“hello world”******************intmain(){ printf("hello world\n");原创 2016-05-28 17:27:30 · 485 阅读 · 0 评论 -
给VC++6.0加快捷注释和取消注释
首先在根目录下找到你的vc++6.0,我的是在c盘的一个叫MSDev98的文件夹里,打开文件夹后,在Macros文件夹中有下面的文件:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/76/77/wKioL1ZUGBuQIxQkAAAvWDovVSQ167.png" title="QQ截图20151124155620.png" al原创 2016-05-28 16:09:18 · 5321 阅读 · 2 评论 -
九九乘法表及其扩展
九九乘法表的程序如下:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ int i = 0; int j = 0; for (i = 1; i { for (j = 1; j { printf("%d*%d=%2d ", i, j, i*j); } printf("\n"); } system("pause"原创 2016-05-28 16:09:21 · 586 阅读 · 0 评论 -
100~200之间的素数(及其四个优化方案)
要求素数,首先我们要知道什么是素数,在解题的时候,不要急着去寻找方法解题,而是要先了解它的根本,才可以在遇到类似题的时候轻松面对解决质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。程序如下:#include#includeint main(){ int i; for (原创 2016-05-28 16:09:24 · 355 阅读 · 0 评论 -
交换两个变量的四种方案(面试题)
方案一:#include#includeint main(){ int a=10; int b=20; int temp; temp = a; a = b; b = temp; printf("a=%d\nb=%d\n", a, b); system("pause"); return 0;}方案二:(只适合正数)#include#includeint main(){ int a=10; int b原创 2016-05-28 16:09:27 · 307 阅读 · 0 评论 -
统计二进制中1的个数(四种方案)
方案一:(只适合计算正数)#include#includeint main(){ int num = 10; //10的二进制数为1010 int count = 0; while (num) { if (num % 2 == 1) //从最高位开始除,余数为1则为1,余数为2则为0 { count++; //余数为1时计数加1 } num = num / 2;原创 2016-05-28 16:09:30 · 625 阅读 · 0 评论 -
C++:继承
1、继承:通过继承定义一个类,它们的类型之间的关系建模,共享共有的东西,实现各自本质不同的东西。C++的“继承”特性可以提高程序的可复用性。继承定义格式:650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/7E/CA/wKiom1cIoCPD6ffCAAAkHgWtV5E225.png" title="基类父类.png" alt="w原创 2016-05-28 16:09:46 · 321 阅读 · 0 评论 -
指针和引用的区别
引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名(引用就是别名)int m=20;int &n=m;int &q=m; //一个变量可以有多个别名m=20; m修改了m值n=30; n修改了m的值q=40; q修改了m的值引用和指针的区别:(1)引用只能在定义时初始化一次,之后不能改变指向(从一而终),指针变量的值可变(2)引用必须指向有效的变量,指原创 2016-05-28 16:09:49 · 250 阅读 · 0 评论 -
Why? 在C++中调用被C编译后的函数,要在声明的前面加extern "C"
在C++程序中调用被C编译器编译后的函数,为什么要在声明的前面加extern "C"?答:c语言不支持重载,C++支持重载为了告诉编译器这个函数是C的编译风格,所以在找这个函数的时候也要按照C的风格去找比如:在C++中写一个add函数 int add(int n1, int n2)它找到的是?add@@YAHHH@Z ?函数名@@YA参数参数返回值@Z H代表int M代表原创 2016-05-28 16:09:52 · 381 阅读 · 0 评论 -
C++中赋值函数和拷贝构造函数(举例说明)
拷贝构造函数发生在对象还没有创建,需要创建时如: MyClass obj1(1); MyClassobj3 = obj1;赋值操作符重载仅发生在对象已经执行过构造函数,即已经创建的情况下如: MyClass obj1(1); MyClass obj3; obj3 = obj1原创 2016-05-28 16:09:55 · 380 阅读 · 0 评论 -
如何理解虚表及其计算含虚函数的类的大小
在什么情况下系统会自动生成缺省(默认)的构造函数?1、在类里面有一个类类型的对象,这个类有自己的缺省构造函数(有缺省的参数,参数有缺省值)。class B{ B(int data) { }};不能合成class B{ B(int data=0) { }};会合成class B{public: B(int data=0) { }};class C:p原创 2016-05-28 16:09:58 · 558 阅读 · 0 评论 -
虚基类
class B{public: int b;};class C1 :virtual public B{public: int c1;};class C2 :virtual public B{public: int c2;};class D :public C1, public C2{public:原创 2016-05-28 16:10:01 · 487 阅读 · 0 评论 -
String类
class String{public: String( const char *str); String( const String &other); ~String(); String &operator=(const String &other);private:原创 2016-05-28 16:10:04 · 245 阅读 · 0 评论 -
剑指0ffer面试题3:二维数组中的查找
//*******************************二维数组中查找一个数**********************************//题目要求:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的// 顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数// 找到则返原创 2016-07-21 12:32:30 · 563 阅读 · 0 评论