程序设计语言
文章平均质量分 57
yuprxk
这个作者很懒,什么都没留下…
展开
-
读 C++语言程序设计 -- cpp20130508
1. 数据结构与处理此数据的逻辑 封装在一起。 2.在与数据不相关的过程组,采用过程式程序设计就够了。 ch2.3 确定你需要哪些类型,为每个类型提供一组完整的操作。原创 2013-05-08 14:32:23 · 368 阅读 · 0 评论 -
虚函数的声明和定义与编译器错误提示
ddd Sprite.h #pragma once class Sprite { public: Sprite(void); virtual ~Sprite(void); }; 在Sprite.h中,我们对~Sprite进行了声明,但是我们却没有给它时行定义 #include "Sprite.h" Sprite::Sprite(void) { } //Sprite::~S原创 2014-04-04 10:23:35 · 961 阅读 · 0 评论 -
基类与派生类的构造函数调用问题
class Core { public: Core(void); Core(std::istream& ); }; class Grad :public Core { public: Grad(void); Grad(std::istream& ); }; Grad类派生自Core int main (int __argc, int __argv) { Grad grad(cin)原创 2014-04-03 17:08:53 · 830 阅读 · 0 评论 -
20130712_C++ 中的复制构造与赋值运算符函数(2)
文件CTest.h class Name { }; class CTest { public: CTest(size_t s = 10); ~CTest(void); public: Name* p; size_t size; }; 文件CTest.cpp #include "Test.h" #include #include #include CTest::CTest(原创 2013-07-12 16:33:43 · 489 阅读 · 0 评论 -
《思考OO》
在蔡先生的微信(JerryTsai1218)里面看到的,觉得非常好,不敢独享,稍整格式,与大家分享。 《思考OO》 十多年前在读大学时,我对于OO(Object-Orientation,物件导向)兴致正浓,看了不少OO的书,有外文书(例如Grady Booch、Bertrand Meyer),也有中文书。其中,中文书为了帮助读者理解,都会用现实生活中的物件做比拟,比方说:哺乳动物、交通工具,我转载 2014-01-15 17:22:34 · 561 阅读 · 0 评论 -
20130712_C++ 中的复制构造与赋值运算符函数(1)
复制构造与复制赋值 什么是复制构造 在谈复制构造之前,我们不妨先看看构造函数 在C语言中 struct Point { int x; int y; }; void Init(struct Point* p, int x, int y) { p->x = x; p->y = y; } struct Point pt; Init(&pt,0,0); 上面的方式,需要先构造一个对象,然原创 2013-07-12 12:46:51 · 527 阅读 · 0 评论 -
20130712_C++ 中的复制构造与赋值运算符函数(3)
在此,我们为上面的例子,添加复制构造和复制赋值函数 CTest::CTest(const CTest &t) { p = new Name[size = t.size]; for (unsigned int i = 0; i < size; i++) { p[i] = t.p[i]; } } CTest& CTest::operator = (const CTest& t) { i原创 2013-07-12 16:43:41 · 456 阅读 · 0 评论 -
C++ 类型自动转换 构造函数 复制构造函数 赋值操作运算符函数
什么都不说,直接上代码。 #pragma once #include class Core { public: Core(){ std::cout << __FUNCSIG__ << ":" << this<<std::endl; } Core(const Core&){ std::cout << __FUNCSIG__ << ":" << this << std::endl; }原创 2014-04-03 11:32:17 · 462 阅读 · 0 评论 -
c++ 中的 const_cast转换
代码是从微软那边手工抄写的#include using namespace std; class CCTest { public: void setNumber(int n ); void printNumber() const; private: int number; }; void CCTest::setNumber(int n) { number = n; } void C原创 2014-01-15 15:45:52 · 499 阅读 · 0 评论 -
默认构造与特殊的成员变量之间的关系
这次,我们先从一个简单的类开始说起 #pragma once class CTestA { public: CTestA(void); ~CTestA(void); }; class CTestB { public: CTestA t; }; 先实例化类CTestB的一个对象 CTestB tb;在此,会调用编译器为CTestB,生成的一个默认构造也就是一个空的构造函数(CTes原创 2013-07-15 16:28:21 · 511 阅读 · 0 评论 -
别再让C++头文件中出现“using namespace xxx;”
别再让C++头文件中出现“using namespace xxx;” 在这里,我毫不回避地说了这句话: 引用 我再也不想在任何头文件中看到“using namespace xxx;”了 作为一个开发者/团队领导者,我经常会去招聘新的项目成员,有时候也帮助其他组的人来面试应聘者。作为应聘流程之一,我经常要求应聘者写一些代码,因此我检查过相当多的代码。在最近提交的C++代转载 2013-10-16 16:02:45 · 622 阅读 · 0 评论 -
20130717_抽象类设计的几条原则
看看 TCLP 12章中的例子 class CIval_box { public: virtual int get_value() = 0; virtual void set_value(int i) = 0; virtual void reset_value(int i) = 0; virtual void prompt() = 0; virtual bool was_chang原创 2013-07-17 10:16:39 · 538 阅读 · 0 评论 -
第一次开关
class CTest { static bool bInitialized; static void Init() { if (bInitialized) { bInitialized = false;//!bInitialized; //To do } } };原创 2013-07-15 17:22:14 · 401 阅读 · 0 评论 -
派生类中的虚函数
Base.h #pragma once class Base { public: Base(int b = 0):b_(b) {} virtual Base* clone() {return new Base(*this);} virtual int get_value() const {return b_;} private: int b_; }; Derive.h原创 2014-04-04 17:32:30 · 1772 阅读 · 0 评论