
程序设计语言
文章平均质量分 57
yuprxk
这个作者很懒,什么都没留下…
展开
-
读 C++语言程序设计 -- cpp20130508
1. 数据结构与处理此数据的逻辑 封装在一起。2.在与数据不相关的过程组,采用过程式程序设计就够了。ch2.3 确定你需要哪些类型,为每个类型提供一组完整的操作。原创 2013-05-08 14:32:23 · 388 阅读 · 0 评论 -
虚函数的声明和定义与编译器错误提示
dddSprite.h#pragma onceclass Sprite{public: Sprite(void); virtual ~Sprite(void);};在Sprite.h中,我们对~Sprite进行了声明,但是我们却没有给它时行定义#include "Sprite.h"Sprite::Sprite(void){}//Sprite::~S原创 2014-04-04 10:23:35 · 991 阅读 · 0 评论 -
基类与派生类的构造函数调用问题
class Core{public: Core(void); Core(std::istream& );};class Grad :public Core{public: Grad(void); Grad(std::istream& );};Grad类派生自Coreint main (int __argc, int __argv){ Grad grad(cin)原创 2014-04-03 17:08:53 · 857 阅读 · 0 评论 -
20130712_C++ 中的复制构造与赋值运算符函数(2)
文件CTest.hclass 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 · 511 阅读 · 0 评论 -
《思考OO》
在蔡先生的微信(JerryTsai1218)里面看到的,觉得非常好,不敢独享,稍整格式,与大家分享。《思考OO》十多年前在读大学时,我对于OO(Object-Orientation,物件导向)兴致正浓,看了不少OO的书,有外文书(例如Grady Booch、Bertrand Meyer),也有中文书。其中,中文书为了帮助读者理解,都会用现实生活中的物件做比拟,比方说:哺乳动物、交通工具,我转载 2014-01-15 17:22:34 · 599 阅读 · 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 · 545 阅读 · 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 · 469 阅读 · 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 · 489 阅读 · 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 · 518 阅读 · 0 评论 -
默认构造与特殊的成员变量之间的关系
这次,我们先从一个简单的类开始说起#pragma onceclass CTestA{public: CTestA(void); ~CTestA(void);};class CTestB{public: CTestA t;};先实例化类CTestB的一个对象CTestB tb;在此,会调用编译器为CTestB,生成的一个默认构造也就是一个空的构造函数(CTes原创 2013-07-15 16:28:21 · 532 阅读 · 0 评论 -
别再让C++头文件中出现“using namespace xxx;”
别再让C++头文件中出现“using namespace xxx;”在这里,我毫不回避地说了这句话: 引用我再也不想在任何头文件中看到“using namespace xxx;”了作为一个开发者/团队领导者,我经常会去招聘新的项目成员,有时候也帮助其他组的人来面试应聘者。作为应聘流程之一,我经常要求应聘者写一些代码,因此我检查过相当多的代码。在最近提交的C++代转载 2013-10-16 16:02:45 · 640 阅读 · 0 评论 -
20130717_抽象类设计的几条原则
看看TCLP12章中的例子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 · 558 阅读 · 0 评论 -
第一次开关
class CTest{ static bool bInitialized; static void Init() { if (bInitialized) { bInitialized = false;//!bInitialized; //To do } }};原创 2013-07-15 17:22:14 · 423 阅读 · 0 评论 -
派生类中的虚函数
Base.h#pragma onceclass 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 · 1799 阅读 · 0 评论