C++默认构造函数的问题
2024-08-23 02:00:46
C++ defaul construct :缺省构造函数(默认构造函数)
定义:第一种 构造函数没有参数,即是 A()形式的
第二种 构造函数的全部参数由缺省值提供,A(int a=0,int b=0)
编译器添加的默认构造函数的条件: 如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做(这只是一种情况而言,此构造函数是trival
派生类和基类的关系:
我们通常说的派生类和基类,我们调用派生类的自定义的构造函数的时候,派生类会自动调用基类中的default construct函数,而不能调用基类中的其他构造函数
class Foo
{
private:
int val;
public:
Foo():val(){}
};
class Bar:public Foo
{
public:
char *str;
int i;
Bar(int i,char*s){
i=i;
str=s;
}
}; //不能通过,因为bar派生类不能调用基类中的defalut函数,因为不存在
class Foo
{
private:
int val;
Foo(int i):val(i){}
};
class Bar:public Foo
{
public:
char *str;
int i;
Bar(int i,char*s){
i=i;
str=s;
}
};
class Foo
{
private:
int val;
public:
Foo(int i):val(i){}
Foo():val(){}
};
class Bar:public Foo
{
public:
char *str;
int i;
Bar(int i,char*s){
i=i;
str=s;
}
};
base中同时定义普通构造函数和default construct函数的时候,派生类就可以调用
最新文章
- 关于XML序列化与CultureInfo
- sql-将字符串按指定字符分割插入指定表中
- logback
- ES6学习笔记(2)
- Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。
- singleton(单件)-对象创建型模式
- WPF登陆窗口、主窗口切换问题
- Java构造方法的含义和使用
- JAVA生成RSA非对称型加密的公钥和私钥(利用JAVA API)
- Erlang-基础篇
- HDU 5800 To My Girlfriend 背包
- NOIP2014酱油记
- 【Spring】多数据源导致自动化配置失败问题
- 更改Qt Application为 Qt Console Application
- 混淆矩阵、准确率、精确率/查准率、召回率/查全率、F1值、ROC曲线的AUC值
- C#+EntityFramework编程方式详细之Database First
- Android 正则表达式验证手机号码
- sql对于字符串的处理
- Python encode() 方法(转)
- mpvue两小时,产出一个《点钞辅助工具》小程序