(2)请用类的友元函数,而不是成员函数,再次完成上面提及的运算符的重载;
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r; imag=i;}
Complex operator+(const Complex &c2);
Complex...
分类:
其他好文 时间:
2015-04-29 09:57:51
阅读次数:
109
Description定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数totalWeight(),计算二者的重量和。Input多组数据。每组包含2个整数m,n,分别表示Boat和Cat的重量。OutputBoat和Cat的重量之和。Sample Input4 56 8Sa...
分类:
其他好文 时间:
2015-04-26 22:29:19
阅读次数:
134
#include
template class DoubleList;
/*对于DoubleList这个类的前向引用声明*/
template class DoubleListNode {
//对DoubleListNode这个模板类进行声明
private:
friend class DoubleList; //将DoubleList这个类声明为自己的友元,
//然...
分类:
其他好文 时间:
2015-04-26 12:25:56
阅读次数:
144
实验二 自定义类型的运算【实验目的】理解运算符函数与运算符重载方法;掌握运算符重载为友元函数;【实验内容】题目:在C++中,分数不是预先定义的,建立一个分数类,使之具有以下功能:能防止分母为0、当分数不是最简形式时进行约分及分母为负数。用重载运算符完成加法、减法、乘法、除法等四则运算。源程序代码:#...
分类:
编程语言 时间:
2015-04-25 18:11:14
阅读次数:
1475
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元...
分类:
编程语言 时间:
2015-04-24 12:00:56
阅读次数:
152
1.static 静态局部对象:一旦被创建,在程序结束前都不会被撤销。当定义静态局部对象的函数结束时,静态局部对象不会撤销。2.内联函数:避免函数调用的开销。在函数返回类型前加上关键字 inline 就可以将一些特定函数指定为内联函数。3.友元:friend 机制允许一个类将对其非公有成员的访问权授...
分类:
编程语言 时间:
2015-04-23 12:33:24
阅读次数:
129
先把代码贴着,明天再补充总结!#ifndef PICTURE_H
#define PICTURE_H
#include
using namespace std;
class Picture
{
private:
int height, width;
char * data;
char & position(int row, int col)
{
return data[row*wid...
分类:
编程语言 时间:
2015-04-23 09:40:59
阅读次数:
204
目录(?)[-]概述特性实现1友元函数11声明和定义12示例2友元类21声明和定义22示例注意1友元关系没有继承性2友元关系没有传递性1.概述友元提供了一种 普通函数或者类成员函数 访问另一个类中的私有或保护成员 的机制。也就是说有两种形式的友元:(1)友元函数:普通函数对一个访问某个类中的私有或保...
分类:
编程语言 时间:
2015-04-23 01:52:50
阅读次数:
150
刚开始看沉思录,觉得太枯燥。到了第八章,作者关于面向对象问题的分析,我follow书上的设计开发,理解了一些以前只是在书上看到的概念。
给自己做几点注解吧:
1.虚基类用来表达所有的继承类的共有特点,在这个例子中,所有的继承类都要有输出和求值计算,所以我们把这两个函数定义为虚函数。
2.虚基类必须至少含有一个纯虚函数。该纯虚函数可以定义也可以不定义。
3.我们要保证由虚基类派生出来的类的对...
分类:
编程语言 时间:
2015-04-22 14:03:05
阅读次数:
190
(1)阅读下面的程序,体会注释中的说明。
//例:使用成员函数、友元函数和一般函数的区别
#include
using namespace std;
class Time
{
public:
Time(int h,int m,int s):hour(h),minute(m),sec(s) {}
void display1(); //display1是成员函数...
分类:
其他好文 时间:
2015-04-22 09:35:02
阅读次数:
118