
C
文章平均质量分 60
Ethan-Walker
这个作者很懒,什么都没留下…
展开
-
C语言处理字符串整数转换
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int count(int n);char* itoaa(int n);void reverse(char *s, int length);int atoii(char *s);int _pow(int base, int ...原创 2018-10-02 16:42:00 · 268 阅读 · 0 评论 -
C++派生类的构造函数
基类的构造函数不能被继承,在声明派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数来完成。所以在设计派生类的构造函数时,不仅要考虑派生类新增的成员变量,还要考虑基类的成员变量,要让它们都被初始化。解决这个问题的思路是:在执行派生类的构造函数时,调用基类的构造函数。下面的例子展示了如何在派生类的构造函数中调用基类的构造函数。 #include<iostream>using namesp转载 2016-03-20 00:54:49 · 440 阅读 · 0 评论 -
C++有子对象的派生类的构造函数
类的数据成员不但可以是标准型(如int、char)或系统提供的类型(如string),还可以包含类对象,如可以在声明一个类时包含这样的数据成员:class B{…};class A{public: B s1; //B是已声明的类名,s1是B类的对象 … };这时,s1就是类对象中的内嵌对象,称为子对象(subobject),即对象中的对象。在派生类中,子对象为基类在派生转载 2016-03-20 02:09:31 · 3370 阅读 · 2 评论 -
带模板参数的运算符重载
非模板函数 运算符重载一般都只要在类中声明为友元函数(此时没有隐含的this指针,函数中参数不能省),在类外定义即可。但是带模板的运算符重载要注意以下几点:1,全局的operator 重载函数要在类之前声明. 不加<> 2,模板函数做友元要显式的声明模板形参,如果<>内空就是把当前类的模板参数传 进来用. 在类中声明时要加<>. 3.函数定义时,不加<>.例:链式栈的模板定义 以下是原创 2016-04-09 02:01:28 · 2297 阅读 · 3 评论 -
为什么模板类与模板成员函数不能分文件写(.h与.cpp)
定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C++编译器还无法分离编译,最好将实现代码和声明代码均放在头文件中。如:test.htemplate <class T>class CTest{ public: T& GetValue(); void SetValue(const T&a...转载 2016-04-20 08:21:05 · 4281 阅读 · 1 评论 -
C++ STL stack queue 的使用函数
1、stackstack 模板类的定义在<stack>头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack<int> s1;stack<string> s2;stack 的基本操作有:入栈,如例:s.pus...原创 2016-04-20 10:29:45 · 637 阅读 · 0 评论 -
cin,cin.get,getline,gets等输入函数用法
1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream> using namespace std; main () { int a,b; cin>>a>>b; cout<<a+b<<endl; }输入:2[回车]3[回车]输出:5注意:...转载 2016-04-28 21:51:26 · 373 阅读 · 0 评论 -
基类与派生类访问(模板与非模板)
若基类只存在含参数的构造函数,在派生类定义构造函数时,必须以成员列表的形式为基类初始化;若基类有默认构造函数,或不含参数的构造函数,则不必在成员列表中为基类初始化。 <span style="font-size:12px;"></span><span style="font-size:12px;">class A{public: &...原创 2016-06-09 19:25:01 · 1195 阅读 · 0 评论 -
C++标准输入输出格式控制(进制)
从HDU--2057题说起刚开始做,以为这题是大数加减问题,试了半天发现太复杂,要考虑的因素太多,后来知道long long能表示16位十六进制的整数,题目中为15位,可以直接加减,百度了一下输入输出十六进制的格式,还有十六进制的负数输出的是其补码,故要判断结果是否是负数,且默认输出十六进制的格式中,字母为小写,用setiosflags(ios::uppercase) 能使输出的十...原创 2016-06-12 14:54:37 · 2178 阅读 · 1 评论 -
istream_iterator和ostream_iterator使用
标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入。使用这两个iteratorclasses之前,先得含入iterator头文件:#include<iterator>现在让我们看看如何利用istream_iterator从标准输人装置中读取字符串。就像所有的i...转载 2016-06-22 11:23:13 · 505 阅读 · 0 评论 -
scanf printf 与cin cout 时间的差别
原文链接昨天在OJ上看到一个很水的题,题意就是两个递增序列,输出合并后新序列的中值(详细描述可参见我的另一篇文章http://hi.baidu.com/i5love1you9/blog/item/250f57d671b6f41aa08bb721.html)。当时也闲来无事,于是决定动手写写。刚开始也没怎么在意,认为该题随便都能AC。可提交的结果却TLE了,当时就郁闷了,这算法不可能会有问题啊,...转载 2016-07-16 21:18:05 · 1876 阅读 · 0 评论 -
int数组为什么一般不能用memset初始化每个元素
对于整数型数组,若要是初始化为非0的值时应该使用for循环而对于字符型 或 0 应该使用memset 函数如下是可以的,能把数组中的元素值都设置成字符1,#include <iostream>#include <cstring>using namespace std;int main(){ char a[5]; memset(a,'1'...转载 2016-07-17 21:28:58 · 7488 阅读 · 0 评论 -
C++ 逻辑运算符总结
c/c++的|、||、&、&&、异或、~、!运算 (2011-09-16 15:19:50)转载▼标签: 运算符 右移 二进制 左移 c语言 it 分类: C 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是...转载 2016-07-27 07:51:39 · 5181 阅读 · 0 评论 -
派生类的三种继承方式总结
派生类的三种继承方式公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私转载 2016-03-19 23:32:16 · 3472 阅读 · 0 评论