访问控制和继承
public: 公有类型
private: 私有类型
protected: 保护类型
当一个类的成员定义为public,就能够在类外访问,包括它的派生类。
当一个成员定义为private,它仅能在类内访问,不能被它的派生类访问。
当一个成员定义为proteced,它仅能在类内访问,但是能被它的派生类访问。
当一个成员没有指定访问说明符时,默认为private。
...
分类:
编程语言 时间:
2014-07-25 11:16:01
阅读次数:
314
C++中的友元机制允许类的非公有成员被一个类或者函数访问,友元按类型分为三种:普通非类成员函数作为友元,类的成员函数作为友元,类作为友元。
1 友元的内容
友元包括友元的声明以及友元的定义。友元的声明默认为了extern,就是说友元类或者友元函数的作用域已经扩展到了包含该类定义的作用域,所以即便我们在类的内部定义友元函数也是没有关系的。
2 普通的非成员函数友元
这类友元函数通常是操作符,...
分类:
编程语言 时间:
2014-07-23 13:37:47
阅读次数:
354
《C++ Primer Plus》学习笔记9
第15章 友元、异常和其它
主要内容:
1)友元类
2)友元类方法
3)嵌套类
4)引发异常、try块和catch块
5)异常类
6)运行阶段类型识别(RTTI)
7)dynamic_cast和typeid
8)static_cast、const_cast和reiterpret_cast
1、对于Remote对象的TV...
分类:
编程语言 时间:
2014-07-23 13:31:18
阅读次数:
289
#include #include using namespace std; class Point { public: Point(double xx,double yy) { x=xx; y=yy; }; void Getxy(); ...
分类:
编程语言 时间:
2014-07-23 12:25:17
阅读次数:
221
加法还可用友元函数,两个参数的方式实现。#include #include #include #include using namespace std;class Matrix{public: Matrix(){memset(this->_mat,0,sizeof(this->_mat));}...
分类:
其他好文 时间:
2014-07-22 22:34:53
阅读次数:
262
0.两个要点a) 一个空类,编译器自动合成默认无参构造函数、析构函数、拷贝构造函数、赋值运算符。b) 在编写类的时候,必须严格区分对象是否可复制。1.运算符重载之 string类1.1 运算符重载的几个要点:a) 运算符重载可以有成员函数和友元函数的形式,后者比前者多一个参数。b) =和+=必须重载...
分类:
编程语言 时间:
2014-07-19 18:30:05
阅读次数:
206
#includeusing namespace std;/******************************************//*use member function to overload operator*//*********************************...
分类:
编程语言 时间:
2014-07-18 19:18:45
阅读次数:
169
相对Java而言,友元是C++中特有的一种元素,再加上《C++ Primer》也并没有太详细的例子,所以刚接触这个概念的时候懵了很久,即是自己总结一下,也希望能帮到大家,下面来讲讲友元的用法和一些注意的地方。
操作:
1)在MyFriend类中,将Father类定义成友元
2)写一个Son类继承自Father类
3)在Father类和Son类的构造函数中分别创建MyFriend对象...
分类:
编程语言 时间:
2014-07-18 12:31:27
阅读次数:
272
不能被继承的类(模板参数友元) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy题目: 用C++设计一个不能被继承的类.可以使用模板类模板参数友元, 模板类私有构造函数, 类虚继承这个模板类, 如果类被其他类继承时, 则虚继承会直接调用模板类, 无法构造.代码:/*
* main.cpp
*
* Created on: 2014.7.13...
分类:
编程语言 时间:
2014-07-16 13:19:29
阅读次数:
273
c++基础知识 从一个基本的CMyString类讲起,分析了 构造函数 拷贝构造函数 析构函数 "="、"+="、"+"、左"++"、右"++"操作符重载 "<<"输出流友元函数重载 1、实现过程要关注内存泄露(析构)、非法输入值处理(“赋值重载”)、内存溢出异常处...
分类:
编程语言 时间:
2014-07-11 09:35:14
阅读次数:
251