windows实验3——c++
来源:互联网 发布:python中syntax error 编辑:程序博客网 时间:2024/05/19 12:17
1、getline的使用
#include <iostream>
#include<string>
using namespace std;
int main()
{
for(int i=0;i<2;i++){
string city,state;
getline(cin,city,',');
getline(cin,state);
cout<<"City:"<<city<<" State:"<<state<<endl;
}
return 0;
}
结果:
Beijing,China
City:Beijing State:China
San Francisco,the Unite States
City:San Francisco State:the Unite States
2、类的继承
1、类型兼容规则实例
#include <iostream>
using namespace std;
class Base1 {
public:
void display() const {cout<<"Base1::display()"<<endl;}
};
class Base2:public Base1 {
public:
void display() const {cout<<"Base2::display()"<<endl;}
};
class Derived:public Base2 {
public:
void display() const {cout<<"Derived::display()"<<endl;}
};
void fun(Base1 *ptr){
ptr->display();
}
int main()
{
Base1 base1;
Base2 base2;
Derived derived;
fun(&base1);
fun(&base2);
fun(&derived);
return 0;
}
结果:
Base1::display()
Base1::display()
Base1::display()
用基类的指针指向子类的对象,然后调用成员函数,只能够调用基类的成员函数而不是子类的成员函数。2、派生类构造函数
#include <iostream>
using namespace std;
class Base1 {
public:
Base1(int i){cout<<"Constructing Base1 "<<i<<endl;}
~Base1(){cout<<"Destructing Base1"<<endl;}
};
class Base2{
public:
Base2(int i){cout<<"Constructing Base2 "<<i<<endl;}
~Base2(){cout<<"Destructing Base2"<<endl;}
};
class Base3{
public:
Base3(){cout<<"Constructing Base3 *"<<endl;}
~Base3(){cout<<"Destructing Base3"<<endl;}
};
class Derived:public Base2,public Base1,public Base3 {
public:
Derived(int a,int b,int c,int d):Base1(a),member2(d),member1(c),Base2(b){}
private:
Base1 member1;
Base2 member2;
Base3 member3;
};
int main()
{
Derived obj(1,2,3,4);
return 0;
}
结果:
Constructing Base2 2
Constructing Base1 1
Constructing Base3 *
Constructing Base1 3
Constructing Base2 4
Constructing Base3 *
Destructing Base3
Destructing Base2
Destructing Base1
Destructing Base3
Destructing Base1
Destructing Base2
先调用基类的构造函数,再调用内嵌对象的构造函数。
基类构造函数的调用顺序是按照派生类定义时的顺序,而内嵌对象的构造函数的调用顺序是按照成员在类中声明的顺序。
在执行析构函数是,执行顺序与构造函数完全相反。
- windows实验3——c++
- C#—实验10.4
- C#—实验8.8和实验8.9
- WIndows第二次实验——复习C++(一)自定义数据类型
- C#——窗体实验
- windows实验.2——c++
- C#——窗体实验—进阶-文本框实验
- C语言实验——拍皮球(java语言实验)
- SDUT ACM 实验九 C语言实验—字符编码
- Turbo C/C++ for Windows 集成实验
- Linux C语言编程(3)——文件系统实验
- C语言实验——分割整数
- C语言实验——数日子
- C语言实验——打印金字塔
- 1163C语言实验——排列
- 1165C语言实验——素数
- 1194C语言实验——余弦
- SDUT C语言实验——余弦
- Django之model admin自定义后台管理
- 数据结构——线性表 (顺序表、单链表、静态链表、循环链表、双向链表)
- mongodb-aggregate聚合日期分组
- Halcon算子_fuzzy_measure_pairs
- Java构造器排序
- windows实验3——c++
- 关于.9的那些事儿
- LPC2478驱动nand flash(k9f5608)
- arm-linux上实现的VPN客户端(PPTP)
- selenium 数据驱动 (基于TestNG CSV)
- 简单讲述关于C#的线程,任务,同步
- CCCC-GPLT L3-014. 周游世界 团体程序设计天梯赛
- 【SSH网上商城项目实战21】从Demo中看易宝支付的流程
- Android基础控件ListView的使用与焦点冲突解决