c++程序中的重要问题通过编程来体现(未完待续)
来源:互联网 发布:电脑淘宝网页版登录 编辑:程序博客网 时间:2024/05/16 01:52
1.重载
代码:
#include<iostream>
using namespace std;
class time
{
int hour,minute,second;
public:
time(int h,int m,int s)
{
hour=h;minute=m;second=s;
}
void display()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
void display()const
{
cout<<hour<<"时"<<minute<<"分"<<second<<"秒"<<endl;
}
};
int main()
{
time t1(12,26,9);
t1.display();
const time t2(7,19,28);
t2.display();
运行结果:
12:26:9
7时19分28秒
2.虚函数(virtual)
代码:
#include<iostream>
using namespace std;
class Mammal
{
public:
virtual void Speak()
{
cout<<"Mammal Speak!"<<endl;
}
};
class Dog:public Mammal
{
public:
void Speak() //把基类的虚函数覆盖了,看输出结果
{
cout<<"Dog Speak!"<<endl;
}
};
int main()
{
Dog a;
Mammal&b=a;
a.Speak();
b.Speak();
}
运行结果 :
Dog Speak!
Dog Speak!
3.虚基类的应用(在多重派生的过程中,若使公共基类在派生类中只有一个拷贝,则可将这种类型说明为虚基类)
代码:
#include<iostream>
using namespace std;
class B
{
public:
int b;
};
class B1:virtual public B //在多重派生的过程中,若使公共基类在派生类中只有一个拷贝,则可将这种类型说明为虚基类
{
private:
int b1;
};
class B2:virtual public B
{
private:
int b2;
};
class C:public B1,public B2
{
private:
int d;
};
int main()
{
C c;
c.B1::b=5;
c.B2::b=10;
cout<<"path B1==>"<<c.B1::b<<endl;
cout<<"path B2==>"<<c.B2::b<<endl;
}
运行结果:
path B1==>10
path B2==>10
- c++程序中的重要问题通过编程来体现(未完待续)
- C语言编程中的重要问题
- 用C++实现《经典c程序100例》(未完待续)
- C语言中的一些细节(未完待续)
- obj-c编程15[Cocoa实例04]:基于Core Data的多文档程序示例[未完待续]
- PC客户端中的网页----问题集合(未完待续)
- 递归程序(未完待续)
- JAVA问题答疑(未完待续)
- RMQ问题(未完待续)
- 统计数字问题(未完待续)
- FatFs模块程序移植手册(未完待续)
- JAVA聊天程序经验总结(未完待续)
- 微信小程序开发(未完待续)
- ToolAgent编程实例(未完待续)
- Shell编程笔记(未完待续)
- 《python网络编程基础》笔记(未完待续)
- Python之socket编程(未完待续)
- 《Java多线程编程核心技术》 笔记 未完待续
- SilkTest入门快打5-深入appstate
- 程序员必读优秀书籍
- hdu 4267(线段树)
- POJ 1780 - Code 非递归..输出欧拉回路边路径..
- 面试题函数返回值 return 后的内容不能指向“栈内存”的“指针”和“引用”
- c++程序中的重要问题通过编程来体现(未完待续)
- SilkTest入门快打6-使用类和对象
- 《数据结构与程序设计---c++语言描述》Exercises2.2--E2--(b)s
- px和em、pt长度单位
- SilkTest入门快打7-异常处理
- VS2010中的C#使用CCR并发控制库
- Mahout贝叶斯算法源码分析(2-2)
- Linux系统信息查看命令大全(转)
- prototype的Ajax介绍