文章列表
原文地址:
今天又碰到这个问题,由于以前没有记笔记的习惯,所以碰到这个问题之后纠结了很久。友元函数本来就是给那些既需要访问类成员而又不能作为相关类的成员的函数或者类来访问类私有变量的方法。从这儿可以看出,友元函数会破坏类的封装性,所以还是少用为妙。
#include "iostream"
using namespace std;
class MyClass
{
public:
double val;
MyClass(){a = b = 0;}
MyClass(int x, int y)
{
a = x;
b = y;
val ...
原文地址:http://www.jb51.net/article/41917.htm
与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char*
1、首先必须了解,string可以被看成是以字符为元素 ...
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。
关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。
请看下面的程序。
#include <iostream>;
using namespace std;
class T {
public:
T() ...
原文地址:http://blog.csdn.net/code_bomber/article/details/1862327
今天遇到了好多问题,从内存到字符串。。。上网查了些资料,现在就字符串数组和字符串常量来做个总结吧。其实也就是char sz[] = "string"; 和char *psz = "string"; 这两种字符串的赋值之间的区别。
首先来说说
char sz[] = "string";
这条语句,该语句是按照数组的形式来一个个存放的,编译器将其解释为
char sz[] = {'s','t','r',' ...
原文地址:http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
1. 公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。
2. 私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3. 保护继承(protected)
保 ...
原文地址: http://www.quanxue.cn/JC_CLanguage/Cpp/Cpp14.html
类的外部,也就是通过实例来访问私有(private)或保护(protected)成员,这是被禁止的。但从实用性来说,的确有时很需要在外部访问,C++增加了一种称之为“友元(friend)”函数的申明,将“特权”赋给一些函数(可以是全局函数,也可以是其它类的成员函数),使之能够访问该类的私有和保护成员。
友元函数必须在类里面申明,而且友元函数一定不是该类的成员函数。因此,这样的“特权”实际上已经不是完全的面向对象设计了,当然,我们也可以不用它。另外,友元函数的申明在派生类无效,除非派生 ...
http://www.tudou.com/programs/view/V-j8pSbhThI
原文地址:http://www.cpplive.com/html/567.html
一、静态成员变量:
primer中是这样说的,对于所有的对象共有一个成员变量的就用static ,提供一个所有对象共有的一个成员变量比“每一个类对象维护一个成员变量” 要更有效。
在这种 ...
原文地址:http://blog.csdn.net/morewindows/article/details/6721430
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。
静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即<类名>::<静态成员名>。
在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例 ...
原文地址:http://www.cnblogs.com/Autumoon/archive/2008/08/19/1271589.html
说实话,面向对象是个很大很广的概念,我可不敢在园子里瞎白活,以免“误入牛群深处,引来砖头无数”。但是作为面试常考的题,又不得不列举出来,在此,我主要是和大家一起回顾一下面向对象中的几个核心概念,温故罢了,绝无它意。
说到面向对象这个概念很大很广,其实我觉得也不必被这个“很大很广”吓着了,学习面向对象思想,切不可将其专门孤立为一门学科来学习,其实面向对象就在我们日常生活当中,随时随处都能见到,而不仅仅是软件开发。软件开发不过是把我们人类看待世界的思维方式总结 ...
原文地址:http://blog.163.com/haixing_03031102/blog/static/120105509200972855328532/
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。
c++类的构造函数详解
一、 构造函数是干什么的
class Counter
{
...
原文地址 http://lywybo.iteye.com/blog/794136
在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP),后来为泛型而设计的模版,被发现及证明是图灵完备的,因此使C++亦可支持模版元编程范式(template metapr ...
http://v.youku.com/v_show/id_XNTIwNTUxMzI=.html