某天的日志1
来源:互联网 发布:什么值得买网站源码 编辑:程序博客网 时间:2024/05/17 05:00
无论哪种继承方式,基类的公有和保护成员都可以被派生类的成员访问。
无论哪种继承方式,基类的私有成员都不可以被派生类的成员和对象访问。
只有公有继承时,基类的公有成员才可以被派生类的对象访问。
两个类互为友元
在看到一个类的完整定义之前,清不要调用其方法!
因为在编译器尚未看到Window类的定式前不知道类Window有win这个成员,所以光先声明类Window后只能使用其引用或指针, 不能访问其成员或对它实例化。
在声明之后,定义之前,类为不完整类型,只能用于指向该类型的指针或引用或者用于声明(不是定义)使用该类型做为形参类型或者返回类型的函数。
那怎么解决这个问题呢?
将函数func的实现放在这两个类声明的最下面
官方做法是:将类的声明放在一个头件.h中,类的实现放在另一个文件.cpp中。都怪我想偷懒,不按规矩出牌,这次好了,浪费了一个下午,买了个教训!
修改后:
#include <iostream>
using namespace std;
class window;
class screen
{
public:
friend class window;
screen(int s)
:value(s)
{
}
int func(window &w);
private:
int value;
};
class window
{
public:
friend class screen;
int func(screen& s);
window(int g)
:win(g)
{
}
private:
int win;
};
int window::func(screen& s)
{
cout << s.value << endl;
return 1;
}
int screen::func(window &w)
{
cout << w.win << endl;
return 1;
}
int main()
{
screen s(1);
window w(2);
cout << w.func(s)<< endl;
cout << s.func(w) << endl;
return 0;
}
- 某天的日志1
- 某天的日志2
- (日志管理-1)关于日志的扯淡
- 我的工作日志1
- 我的工作日志1
- 我的代码日志1
- 转某个人的某篇日志
- log4j保留某段时间内的日志
- 删除N天前的日志文件
- 删除N天前的log4j日志
- Java的学习日志(1)
- struts2,我的极初级日志1
- java中log日志的使用1
- 12.7.1 创建日志记录的计算
- LGame的自学日志(1)—入门
- sl6.1的PACCT日志位置
- android的volley框架使用日志1
- python的logging标准日志模块1
- 创建本地的SVN 服务
- struts1.x上传文件大小设置
- 创建文件夹
- 如何把SVN repository和本地项目进行绑定..
- 8本推荐游戏开发书籍
- 某天的日志1
- C#中的打印
- 某天的日志2
- 利用远程线程无DLL直接注入
- 窗体和其子控件背景色的改变
- oracle高级复制之一—三种复制技术特点
- 历史啊!请拍手作歌!——leo荐书(6)
- Router 的初步了解
- 使用C#在控制台应用程序中隐藏用户的密码