C++学习之路---构造函数--1
来源:互联网 发布:集思宝a5软件 编辑:程序博客网 时间:2024/06/06 00:41
感觉构造函数像定义的初始化,构造函数是每个函数都有的,如果自己没有去定义的话,系统会给你一个构造函数,析构函数也是这样的,但是他不会给你初始化的值的
一 : 构造函数有这几个特点:
1. 函数名字和类名相同
2.没有返回值
3.要在public权限下
4.自动调用---(在定义变量的时)
5.不能被继承
6.可以重载
7.默认构造函数只有一个
二: 构造函数的几种不同的赋值方式
1.直接在函数里面附初值
#include <iostream>using namespace std; class Time{ public : Time()///构造函数--初始化的过程 { hour = 0; minute = 0; sec = 0; } void set_time(); void show_time(); private: int hour; int minute; int sec;};void Time::set_time(){ cin>>hour; cin>>minute; cin>>sec;}void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1; t1.set_time(); t1.show_time(); Time t2; t2.show_time(); return 0;}
2.带参数的构造函数
#include <iostream>using namespace std; class Time{ public : Time(int h, int m, int s)///构造函数--初始化的过程 { hour = h; minute = m; sec = s; } void show_time(); private: int hour; int minute; int sec;};void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1(1,2,3); t1.show_time(); Time t2(2,3,4); t2.show_time(); return 0;}
3.用参数初始化表重载
#include <iostream>using namespace std; class Time{ public : Time(int h, int m, int s): hour(h),minute(m),sec(s) { } void show_time(); private: int hour; int minute; int sec;};void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1(1,2,3); t1.show_time(); Time t2(2,3,4); t2.show_time(); return 0;}
4.默认参数的构造函数
#include <iostream>using namespace std; class Time{ public : Time(int h = 1, int m = 1, int s = 1): hour(h),minute(m),sec(s) { } void show_time(); private: int hour; int minute; int sec;};void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1(5); t1.show_time(); Time t2(2,3,4); t2.show_time(); return 0;}
5. 构造函数的重载
#include <iostream>using namespace std; class Time{ public : Time() { hour = 1; minute = 2; sec = 3; } Time(int h , int m , int s): hour(h),minute(m),sec(s) { } void show_time(); private: int hour; int minute; int sec;};void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1; t1.show_time(); Time t2(2,3,4); t2.show_time(); return 0;}
6.默认构造函数只能有一个
#include <iostream>using namespace std;///默认构造函数只能拥有一个 class Time/// 在建立对象时不必给出实参的构造函数为默认构造函数{ public : Time() { hour = 1; minute = 2; sec = 3; } Time(int h = 1, int m = 1, int s = 1): hour(h),minute(m),sec(s) { } void show_time(); private: int hour; int minute; int sec;};void Time::show_time(){ cout<<hour<<":"<< minute<<":"<<sec<<endl;}int main(){ Time t1; t1.show_time(); Time t2(2,3,4); t2.show_time(); return 0;}
0 0
- C/C++学习之构造函数
- C++学习之路---构造函数--1
- 【C#】 之 构造函数
- C++ 学习之构造函数:构造函数小结1
- 一步一步学习C++(类)之拷贝构造函数
- Ndk学习之JNI构造函数(java-->C-->Java)
- C++ 学习之路(1):拷贝构造函数
- 【学习C++】3.构造函数
- objective-c之构造函数
- C#学习之构造函数
- swift学习之构造函数
- 【C\C++学习】之十八、C++11六大函数(构造函数,移动构造函数,移动赋值操作符,复制构造函数,赋值操作符,析构函数)
- 【学习C++】学习C++ -> 复制构造函数
- Object-c note 1:构造函数学习 (Construction Method)
- 一步一步学习C++(类)之构造函数与析构函数
- C++学习之构造函数、拷贝构造函数
- C++学习之 构造函数中调用构造函数
- Qt学习之路【2】:调用父类构造函数
- 同时发起多个intent
- ios swift开发中,使用键盘,tableview根据键盘调整高度
- 多按键事件
- iOS 真机证书设置
- 一对一主键关联关系的理解与实践
- C++学习之路---构造函数--1
- linux文件锁学习01
- SQL server 2008无法连接Local服务器的解决方法
- POJ 1080 Human Gene Functions (类似LCS)
- 剑指offer 顺时针打印矩阵
- 关于Lua中const型变量或者常量的实现
- 怎么样学习Java/ 如何学好Java
- linux内核中的基本数据结构和算法
- Linux源码中链表的声明和初始化