C++
KeepYounger
PHP、C#、Java、C++
展开
-
用C++封装一个String
习惯了C#跟Java以后,使用C++是各种不方便,主要是封装太少,其次C++中的对象思想其实用得并不广泛,而是强调指针,正在努力习惯中。 跟着课程封装了string#include "mystring.h"#include<string.h>MyString * MyString::ms = NULL;MyString* MyString::MakeMyString(const char *s)原创 2016-04-16 11:17:16 · 634 阅读 · 0 评论 -
C++的深度拷贝
深度拷贝:demo de;demo de1 = de;//深度拷贝//等价于demo de1(de);test(demo de){}test(de1);//此时也会发生深度拷贝,只要发生深度拷贝就不会使用原本的浅拷贝了原创 2016-04-17 22:08:52 · 694 阅读 · 0 评论 -
运算符重载
#include <iostream>#include <stdlib.h>#include <string.h>using namespace std;class mystring{public: char *s;public: mystring() { s = new char[1024]; cout << "mystring"翻译 2016-04-17 22:13:15 · 253 阅读 · 0 评论 -
C++中的virtual
参考资料:http://www.programfan.com/article/2782.html 作为通常的原则,如果一个类定义了虚函数,那么它的析构函数就应当是virtual的。因为定义了虚函数则隐含着:这个类会被继承,并且会通过基类的指针指向子类对象,从而得到多态性。”,因此基类的析构函数是否为虚将决定子类的对象是否被析构。 虚函数是C++中用于实现多态(polymorphism)的机制。核转载 2016-04-17 23:51:41 · 420 阅读 · 0 评论 -
C++中的虚函数(virtual function)
1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public: virtual v转载 2016-04-18 00:18:25 · 334 阅读 · 0 评论 -
new 对象加括号和不加括号的区别
在new对象的时候有加上(),有不加(),不知道这个到底是什么区别? 比如: [cpp] view plain copy print?在CODE上查看代码片派生到我的代码片CBase *base = new CDerived(); CBase *base = new CDeviced; 很多人都说,加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数。这是有问题的。对转载 2016-04-18 01:47:13 · 3737 阅读 · 0 评论 -
C++ 学习之路
使用QT在命令控制台输出:项目—运行—-run in terminal const关键字const int * p =20;//p的值只能读不能写int const int * p = 20;//地址不能变,能写能读const int const *p = 20;//地址不能变值只能读volatile关键字 强调变量不能进行编译优化处理,之前在做嵌入式的时候经常用到inline内联函数原创 2016-04-15 12:06:52 · 322 阅读 · 0 评论 -
类成员指针
首先 函数指针是指向一组同类型的函数的指针;而类成员函数我们也可以相似的认为,它是指向同类中同一组类型的成员函数的指针,当然这里的成员函数更准确的讲应该是指非静态的成员函数。前者是直接指向函数地址的,而后者我们从字面上也可以知道 它肯定是跟类和对象有着关系的。typedef int (*p)(int,int);//定义一个接受两个int型且返回int型变量的函数指针类型int func(int x转载 2016-04-19 03:14:43 · 325 阅读 · 0 评论