关于对象(类)相关的知识点
来源:互联网 发布:web前端好还是java好 编辑:程序博客网 时间:2024/05/29 03:19
1.protected成员
class base
{
protected:
int int_pro;
};
class A : public base
{
public:
A(int da) {int_pro=da;}//
void print(A &obj){obj.int_pro = 23;}//
void printpro(base &obj){obj.int_pro=5;}//
};
2.
class design{
public:
adsHashTable * adsGetTable() {return _ppp;}
void adsSetTable(adsHashTable * temp) {_ppp=temp;}
...
private:
adsHashTable * _ppp;
}
design _de;
adsHashTable *ne_w = _de->adsGetTable();
ne_w=new adsHashTable(100);
_de->adsSetTable(ne_w);
3.关于继承和派生的理解
按访问方式分为两种:1.在子类内部访问父类成员;2.通过类对象访问内部成员
对1而言:不管何种继承方式(public,protected,private),在子类中都可以访问父类的public,protected成员,不能访问private成员
对2而言:继承之后,子类拥有父类所有成员变量,并且外加自己特有的变量。访问规则是,通过对象只能访问public成员。不同的继承方式导致继承自父类的成员变量的访问级别发生变化。public继承,父类成员变量访问级别在子类中不改变;protected继承,父类的public变量在子类变成protected的,其他不变;private继承,父类的public,protected变量在子类变成private;
4.构造函数:深拷贝和浅拷贝
通常的赋值以及默认拷贝构造函数都是浅拷贝(有动态成员变量时,出问题,所以需要深拷贝)
深拷贝就是调用拷贝构造函数时,对动态成员变量重新分配空间。
class A{class B{
private: private:
int* p; int* p;
public: public:
A(){p=new int(100);} B(const B& t){p=new int(100); *p=*(t.p);}
} }
A a1(a2); B b1(b2);
A:a1的p指向的是a2的p所指的内存,即a1.p和a2.p指向同一块。
B:b1的p指向一段内存,b2指向另一段内存,然后拷贝就是把b2内存中的内容复制到b1所指向的内存里面。
5.
- 关于对象(类)相关的知识点
- 类和对象的相关知识点
- 关于电池容量的相关知识点
- 关于计时的相关知识点
- 关于数据的相关知识点
- 关于面对对象的知识点
- 类相关的知识点
- JAVA面向对象的相关知识点
- PHP对象相关知识点的总结
- 关于PHP的继承相关知识点
- 关于springboot相关的知识点记录
- 关于lucene/solr的相关知识点
- HttpEntity类的相关知识点(MultipartEntity)
- 面向对象相关知识点整理(1)
- 面向对象相关知识点整理(一)
- 关于http相关知识点
- 关于文档对象模型DOM的知识点
- 面向对象相关知识点总结
- mybatis批量插入数据
- jsp入门教程:7个步骤实现JSP的分页显示
- jAVA高级面试点
- 书籍-从Paxos到Zookeeper分布式一致性原理与实践
- Axure RP 8 7.0 注册码(试了可以用,留备)
- 关于对象(类)相关的知识点
- Java枚举类型介绍
- quartz定时调度框架的使用
- 普元EOS 调用backActivity回退,回退策略为path:基于两点间的路径回退,偶尔出现异常
- 加密连接工具Cryptcat
- 第七章:复用类
- k8s-configmap 在pod中使用
- 约瑟夫环问题的数学解法
- 解决Datagird combobox中出现的问题