随笔分类 -  C++

摘要:动态类型与静态类型静态类型 是指不需要考虑表达式的执行期语义,仅分析程序文本而决定的表达式类型。静态类型仅依赖于包含表达式的程序文本的形式,而在程序运行时不会改变。通俗的讲,就是上下文无关,在编译时就可以确定其类型。动态类型 是指由一个左值表达式表示的左值所引用的最终派生对象的类型。例:... 阅读全文
posted @ 2015-06-12 17:41 Jessica程序猿 阅读(742) 评论(0) 推荐(1) 编辑
摘要:placement new操作符能够在分配内存时指定内存位置。下面的程序使用了placement new操作符和常规new操作符给对象分配内存。// placenew.cpp -- new, placement new, no delete#include #include #include usi... 阅读全文
posted @ 2015-03-15 19:49 Jessica程序猿 阅读(477) 评论(0) 推荐(0) 编辑
摘要:题目C++中名字隐藏是什么?解答让我们通过一个例子来讲解C++中的名字隐藏。在C++中,如果一个类里有一个重载的方法, 你用另一个类去继承它并重写(覆盖)那个方法。你必须重写所有的重载方法, 否则未被重写的方法会因为名字相同而被隐藏,从而使它在派生类中不可见。请看例子:class FirstClas... 阅读全文
posted @ 2014-12-09 22:47 Jessica程序猿 阅读(713) 评论(0) 推荐(0) 编辑
摘要:第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确... 阅读全文
posted @ 2014-12-05 09:58 Jessica程序猿 阅读(1961) 评论(0) 推荐(0) 编辑
摘要:一、使用atoi说明:itoa( int value, char *string, int radix ); 第一个参数:你要转化的int; 第二个参数:转化后的char*; 第三个参数:你要转化的进制;举例://------------------------------------- //功能... 阅读全文
posted @ 2014-11-18 10:13 Jessica程序猿 阅读(6469) 评论(0) 推荐(0) 编辑
摘要:一、背景知识(一些基本概念)虚函数(Virtual Function):在基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数。纯虚函数(Pure Virtual Function):基类中没有实现体的虚函数称为纯虚函数(有纯虚函数的基类称为虚基类)。C++ “虚函数”的存在是为... 阅读全文
posted @ 2014-11-08 23:21 Jessica程序猿 阅读(2266) 评论(1) 推荐(1) 编辑
摘要:(一)inline函数(摘自C++ Primer的第三版)在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内... 阅读全文
posted @ 2014-11-07 20:18 Jessica程序猿 阅读(4702) 评论(0) 推荐(0) 编辑
摘要:类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为private(私有的)、public (公用的)或protected(受保护的)。在使用类函数时,要注意调用它的... 阅读全文
posted @ 2014-10-30 08:26 Jessica程序猿 阅读(28827) 评论(1) 推荐(6) 编辑
摘要:前面已经可以优美地解决两个参数的函数给算法for_each调用了,但是又会遇到这样的一种情况,当需要三个参数或者三个以上的参数给算法for_each调用呢?从STL里的绑定器bind1st,显然是不行了,因为它最多只支持两个参数,那还有什么办法呢?这时就需要使用boost库里强大的绑定器bind了。... 阅读全文
posted @ 2014-10-29 23:00 Jessica程序猿 阅读(312) 评论(0) 推荐(0) 编辑
摘要:From:http://www.usidcbbs.com/read-htm-tid-1898.htmlC++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C... 阅读全文
posted @ 2014-08-12 00:57 Jessica程序猿 阅读(52010) 评论(0) 推荐(5) 编辑
摘要:本文试图解释c++ primer Screen 和 Window_Mgr的例子,为什么将两个类放在两个文件中无法编译?将两个类写在同一个文件中,通过三个例子解释问题:第一种写法问题:编译到Screen时,由于Screen类使用到Window_Mgr的成员函数,虽然前面给出了Window_Mgr的声明... 阅读全文
posted @ 2014-08-10 17:20 Jessica程序猿 阅读(393) 评论(0) 推荐(0) 编辑
摘要:有的时候类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联。声明静态成员我们通过在成员的声明之前加上关键字static使得其与类关联在一起,和其他成员一样,静态成员可以使public得或private的。静态数据成员的类型可以使常量、引用、指针、类类型等。举个例子,我们定义一个类,用它... 阅读全文
posted @ 2014-08-09 21:02 Jessica程序猿 阅读(2757) 评论(0) 推荐(1) 编辑
摘要:聚合类聚合类使得用户可以直接访问其成员,并且具有特殊的初始化语法形式。当一个类满足如下条件时,我们说它是聚合的:所有成员都是public的没有定义任何构造函数没有类内初始化没有基类,也没用virtual函数。下面的类都是一个聚合类struct Data{ int ival; string s;}... 阅读全文
posted @ 2014-08-09 18:10 Jessica程序猿 阅读(2135) 评论(1) 推荐(0) 编辑
摘要:如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,有时我们把这种构造函数称作转换构造函数。能通过一个实参调用的构造函数定义了一条从构造函数的参数类型向类类型隐式转换的规则。例如,在Sales_data类中,接受string的构造函数和接受istream的构造函数分别定义了从这... 阅读全文
posted @ 2014-08-09 00:33 Jessica程序猿 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:每个类都会定义它自己的作用域。在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员则使用作用域运算符访问。不论哪种情况,跟在运算符之后的名字都必须是对应类的成员:Screen::pos ht=24,wd=80; //使用Screen定义的pos类型... 阅读全文
posted @ 2014-08-08 19:17 Jessica程序猿 阅读(4463) 评论(0) 推荐(0) 编辑
摘要:类的基本特性包括:类型成员、类的成员的类内初始值、可变数据成员、内联成员函数、从成员函数返回*this。类成员再探定义一个类型成员Screen不是显示器中的一个窗口。每个Screen包含一个用于保存Screen内容的string成员和三个string::size_type 类型的成员,它们分别表示光... 阅读全文
posted @ 2014-08-08 19:16 Jessica程序猿 阅读(530) 评论(0) 推荐(0) 编辑
摘要:在C++语言中,我们使用访问控制说明符加强类的封装性:定义在public说明符之后的成员在整个程序内可被访问,public成员定义类的接口定义在private说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private部分封装了(即隐藏了)类的实现细节。使用class或str... 阅读全文
posted @ 2014-08-08 19:15 Jessica程序猿 阅读(658) 评论(0) 推荐(0) 编辑
摘要:定义成员函数 阅读全文
posted @ 2014-08-08 19:13 Jessica程序猿 阅读(155) 评论(0) 推荐(0) 编辑
摘要:当将一个类A的成员函数A::F设置成类B的友元时,需要预先定义类A,否则不能将A::F指定为友元。而在定义B之后,才能定义A::F,因为A::F被设为 友元正是为了访问类B的成员函数。所以,可以按照如下的顺序:声明类B定义类A,声明但不实现A::F定义类B,设置A::F为友元实现A::F下面是一个例... 阅读全文
posted @ 2014-08-08 18:28 Jessica程序猿 阅读(659) 评论(0) 推荐(1) 编辑
摘要:函数指针函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定类型。函数的类型由它的返回类型和形参类型共同决定,与函数名无关。例如://比较两个string对象的长度bool lengthCompare(const string&,const string&);该函数的类型是bool(c... 阅读全文
posted @ 2014-08-07 17:56 Jessica程序猿 阅读(397) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示