宁以non-member和non-friend替换member函数有什么好处?
刚看的Effective C++中的一个说了一大堆也没看懂个意思 说是可以增加封装性 包裹弹性和机能扩充性
能否讲解一下 谢谢了
[[it] 本帖最后由 newyj 于 2008-4-26 21:56 编辑 [/it]]
PS: 条款几??我看下 没看过..可以说的明白点吗?什么叫non-number? 第三版 第23条款
是non-member 不是成员函数
[[it] 本帖最后由 newyj 于 2008-4-27 11:54 编辑 [/it]] 不好意思,我是第二版的,不知道有没有,条款的名称是什么? 宁以non-member和non-friend替换member函数 第二版没这个条款~ 不明白,不是友员,不是成员..可以提高封装?对了除去友员除去成员..还有什么? 还有全局函数 在类里面封装全局函数?控制权限是什么?我看的是c++primer上面没怎么提这些概念...彻底当成面向对象的语言来看的... 好象不能在类里面封装全局函数吧
只是说有的时候用全局函数调用public的成员 比 用成员函数好
这就是我不理解的地方 看多态// 楼上是说..全局函数用一个父类的引用或指针,然后根据虚函数从构实现动态编联?要是说得是这个要好理解点... 讨厌概念的东西..最好都是可以有概念然后有例子比较下..要不然光是那些字的意思就够看半天的..呵呵
回复 15# 的帖子
是啊能否举的例子啊
没有看懂 你说的 是什么意思 [code]
#include<iostream>
using namespace std;
class A{
public :
virtual ~A() =0{
cout<<"destroy A"<<endl;
}
virtual void dump() const =0;
};
class B:public A{
public:
~B() {
cout<<"destroy B"<<endl;
}
void dump() const{
cout<<"B"<<endl;
}
};
class C:public A{
public :
~C() {
cout<<"destroy C"<<endl;
}
void dump() const{
cout<<"C"<<endl;
}
};
void Print(const A* pa)
{
pa->dump();
}
int main(void)
{
A* pa = new B;
Print(pa);
delete pa;
return;
}
[/code] 中学,纯虚函数,在基类中一般是不要实现代码的virtual ~A() =0 这里是不是可以不用呢?
[[it] 本帖最后由 sunkaidong 于 2008-4-27 15:02 编辑 [/it]] 抽象基类多半是接口,纯虚析构可以没实现呢.......[tk05]
页:
[1]
2
