c++语言
小虾米qq
我是小虾米
展开
-
字符串分割与质数问题
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 连续输入字符串(输入2次,每个字符串长度小于100)输出描述: 输出到长度为8的新字符串数组输入例子: abc 123456789输出例子: abc00000 12345678 90000000 substr#include<iostream>#in原创 2017-03-18 15:52:37 · 373 阅读 · 0 评论 -
new和malloc的区别
http://blog.csdn.net/hackbuteer1/article/details/6789164 1.malloc函数 malloc(memory allocation),中文名字是动态内存分配 原型:extern void *malloc(unsigned int num_bytes) 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,原创 2017-09-07 15:26:49 · 290 阅读 · 0 评论 -
动态运行时类型识别与显式转换
1、typeid 通过运行时类型识别(RTTI),程序能够使用基类的指针或引用来检索这些指针或引用所指对象的实际类型。c++可以通过下面两个操作提供RTTI 1、typeid操作符,返回指针或引用所指对象的实际类型。 2、dynamic_cast操作符,将基类类型的指针或引用安全的转换为派生类型的指针或引用。用法:Base *bp;Derived *dp;if(typeid(*bp)==t原创 2017-08-27 21:31:06 · 306 阅读 · 0 评论 -
关于输入的几种总结
istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。 第一种:输入带有空格的或者其他字符串 可以用stringstream分离vector<string> split(string str,char sep){stringstream ss(str);原创 2017-08-26 17:22:31 · 338 阅读 · 0 评论 -
指针与引用
1、指针和引用的差别? (1)非空区别。任何时候都不能使用指向空值的引用。一个引用总是指向某些对象。 (2)合法性区别:在使用引用之前不需要测试它的合法性。相反,指针则应该总是被测试,防止其为空 (3)可修改区别:指针与引用的另一个重要的区别是指针可以被重新赋值以指向两一个不同的对象。 引用则总是指向在初始化时被指向的对象,以后不能原创 2017-08-26 17:02:33 · 222 阅读 · 0 评论 -
成员函数的重载、覆盖和隐藏的区别与联系
1.重载:说的是在同一个类中,有两个成员函数同名,他们的形参列表必须不同,也就是说他们的形参个数和形参类型至少有一着是不相同的。但不能出现函数的形参个数与类型均相同,仅仅依靠函数返回值类型的不同来区分,这和普通函数的重载概念是完全一致的。 重载是指通一个类中不同方法之间的关系,是水平关系。 2、覆盖,说的是基类和派生类之间的虚函数的关系。假设基类中由虚函数func(),派生类中也由虚函数func原创 2017-05-10 21:57:42 · 520 阅读 · 0 评论 -
虚函数专题
结合笔记本 程序:#include <iostream> using namespace std;class Base1 {public: virtual void display() const; //虚函数 };void Base1::display() const { cout << "Base1::display()" << endl;}class Base原创 2017-06-04 11:51:04 · 188 阅读 · 0 评论 -
dynamic_cast<>
用于c++类集成多态间的转换,分为: 1、子类向基类的向上转型, 2,基类向子类的向下转型 向上转型不需要借助任何特殊的方法,只需要将子类的指针或引用即可向下转换:dynamic_cast操作符,将基类类型的指针或引用安全的转换为派生类的指针或引用,dynamic_cast将一个几类对象指针cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类只恨来做相应出力。这也是d原创 2017-03-07 15:57:53 · 211 阅读 · 0 评论 -
模板类问题
template<class T> class Foo{ T tVar; public: Foo(T t) : tVar(t) { }};template<class T> class FooDerived:public Foo<T>{};int main(){ FooDerived<int> d(5); return 0;}错误,因原创 2017-03-07 15:34:59 · 511 阅读 · 0 评论 -
函数重载、覆盖、隐藏
1、成员函数被重载的特征: (1)相同的范围(在同一个类中) (2)函数名字相同 (3)参数不同 (4)virtual关键字可有可无 2、覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围 (2)函数名字相同 (3)参数相同 (4)基类函数必须有virtual关键字 3、隐藏是指派生类的函数与基类的函数同名,此时,不论有无virtual关键字,基类的函数被隐藏 如果派生原创 2017-03-07 15:30:34 · 215 阅读 · 0 评论 -
计算字符串中某一个字符的个数
第一种解法: 注意读数据用的是:getline 大写A是65,小写a是97;#include<iostream>#include<string>using namespace std;int main() { string line; getline(cin,line); char a; cin>>a; char a1; if(a>=97原创 2017-03-10 15:47:40 · 1246 阅读 · 0 评论 -
delete delete[]
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。 http://www.cnblogs.com/charley_yang/archive/2010/12/0原创 2017-09-07 22:26:32 · 369 阅读 · 0 评论