定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)。
/*
* Copyright (c) 2015,烟台大学计算机学院
* All right reserved.
* 作者:赵嵩
* 文件:Demo.cpp
* 完成时间:2015年04月22日
* 版本号:v1.0
*/
#include...
分类:
其他好文 时间:
2015-04-22 09:34:25
阅读次数:
149
先放上我写的思维导图
我在画思维导图的时候,首先想到的是类的数据成员和成员函数,毕竟组成类的就是这两大类。接着看了下教科书的目录,发现还可以写类的性质和定义。写这四大项的时候,我先根据自己的想法加上枝条,有看了看目录,再加上了一些。最后加上了友元类和类模板两个相对小点的项目,其实是我不知道这两类该怎么分到之前的四个大类中,就单独写上了。...
分类:
其他好文 时间:
2015-04-21 09:49:10
阅读次数:
220
(3)友元函数提供了一种非成员函数访问私有数据成员的途径,模板类使类中的数据成员的类型变得灵活,这两种技术可以结合起来用。要求在前面方案的基础上支持用友员函数实现的加法。用于测试的main()函数如下:
int main( )
{
Complex c1(3,4),c2(5,-10),c3;
c3=c1.complex_add(c2); //调用成员函数支持加法运算,有一个形参
...
分类:
其他好文 时间:
2015-04-19 14:42:27
阅读次数:
146
传值方式是位拷贝形式,包括对象不调用构造函数,但会调用其析构函数
如果设计了拷贝函数,当从现有的对象创建新对象时,编译器将不使用位拷贝。编译器总是调用我们的拷贝构造函数(c++编译器自动创建的拷贝构造函数也是位拷贝的,是不安全的。所以一般自己创建。)
又一个简单的技术防止通过按值传递方式传递:声明一个私有拷贝构造函数。甚至不必去定义它,除非成员函数或友元函数需要执行按值传递方式的传递。如果用户...
分类:
其他好文 时间:
2015-04-17 18:18:22
阅读次数:
120
(1)阅读下面的程序,体会注释中的说明。//例:使用成员函数、友元函数和一般函数的区别
#include
using namespace std;
class Time
{
public:
Time(int h,int m,int s):hour(h),minute(m),sec(s) {}
void display1(); //display1是成员函数
frie...
分类:
其他好文 时间:
2015-04-16 22:02:28
阅读次数:
149
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)。
/*
* Copyright (c) 2015,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:Demo.cpp
* 完成时间:2015年04月16日
* 版本号:v1.0
*/
#include
#include
...
分类:
其他好文 时间:
2015-04-16 21:57:42
阅读次数:
146
问题
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)
class Date; //对Date类的提前引用声明
class Time
{
public:
Time(int,int,int);
void add_a_second(Date &); //增加1秒,1秒后可能会...
分类:
其他好文 时间:
2015-04-16 14:24:34
阅读次数:
223
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)
class Date; //对Date类的提前引用声明
class Time
{
public:
Time(int,int,int);
void add_a_second(Date &); //增加1秒,1秒后可能会到了下一天,乃到下一月、下一...
分类:
其他好文 时间:
2015-04-16 09:09:03
阅读次数:
145
1.友元函数 (1)友元函数是定义在一个类外的普通函数。 友元函数和普通函数的定义一样;在类内必须将该普通函数声明为友元。 (2)友元函数不是成员函数。 不能通过对象来调用,而是直接调用;友元函数可以访问类的公有、受保护以及私有成员,但是必须通过对象、对象指针或者对象引用来访问。 2.友元...
分类:
编程语言 时间:
2015-04-16 01:14:32
阅读次数:
166
阅读程序:
#include
using namespace std;
class Time
{
public:
Time(int h,int m,int s):hour(h),minute(m),sec(s) {}
void display1(); //display1是成员函数
friend void display2(Time &); //d...
分类:
其他好文 时间:
2015-04-15 19:45:45
阅读次数:
164