由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个关于c++ access 的问题
相关主题
c++问题,请高人指点迷津,c++ faq lite的一个例子问个小问题
C++: define a reference always reference the same object问个C++的问题 friend operator
const char *p, is it ok to change p[1] ?问个c++的template的问题
最新某公司onsite面试题 (转载)问个c++问题
c++ private 问题[合集] 问个很初级的问题
问个问题问个 std::vector 的基本问题
问个C++的问题问个简单问题
问个php的问题问个c++语言扩展的问题 (转载)
相关话题的讨论汇总
话题: fred话题: wilma话题: const话题: line话题: new
进入Programming版参与讨论
1 (共1页)
t**m
发帖数: 17
1
class Wilma { };
class Fred {
public:
Fred() : p_(new Wilma()) { }
Fred(const Fred& f) : p_(new Wilma(*f.p_)) { }
~Fred() { delete p_; }
Fred& operator= (const Fred& f)
{
// Bad code: Doesn't handle self-assignment!
delete p_; // Line #1
p_ = new Wilma(*f.p_); // Line #2
return *this;
}
private:
Wilma* p_;
};
其中的一句
Fred(const Fred& f) : p_(new Wilma(*f.p_)) { }
为什么可以用*f.p_? p_ 不是f的privat
k*k
发帖数: 508
2
p_ 是 Fred 的 private member,在 Fred 的 scope 里面都可以用

【在 t**m 的大作中提到】
: class Wilma { };
: class Fred {
: public:
: Fred() : p_(new Wilma()) { }
: Fred(const Fred& f) : p_(new Wilma(*f.p_)) { }
: ~Fred() { delete p_; }
: Fred& operator= (const Fred& f)
: {
: // Bad code: Doesn't handle self-assignment!
: delete p_; // Line #1

1 (共1页)
进入Programming版参与讨论
相关主题
问个c++语言扩展的问题 (转载)c++ private 问题
问个 C++到C的问题问个问题
question about const reference问个C++的问题
[合集] static const代替define的performance tradeoff在哪里?问个php的问题
c++问题,请高人指点迷津,c++ faq lite的一个例子问个小问题
C++: define a reference always reference the same object问个C++的问题 friend operator
const char *p, is it ok to change p[1] ?问个c++的template的问题
最新某公司onsite面试题 (转载)问个c++问题
相关话题的讨论汇总
话题: fred话题: wilma话题: const话题: line话题: new