#include <iostream.h> class A2 public: virtual void act10: void act2(){act1();}}; void A2::act1(){ cout<<"A2: : act1() called. "<<endl; } class C:public A2{ public: void act1();}; void C::act1() { cout<<"C::act1( IOT) called. "<<endl; } void main() C b; b.act2();}
时间: 2024-03-10 12:44:01 浏览: 25
这段代码还是有语法错误,其中的冒号和括号也不匹配。以下是修改后的代码:
```
#include <iostream>
class A2 {
public:
virtual void act1() { std::cout << "A2: act1() called." << std::endl; }
void act2() { act1(); }
};
class C : public A2 {
public:
void act1() { std::cout << "C::act1() called." << std::endl; }
};
int main() {
C b;
b.act2();
return 0;
}
```
这段代码定义了一个名为A2的类,其中包含一个名为act1的虚函数和一个名为act2的非虚函数。类C继承自A2,并重写了act1函数。在main函数中,创建一个C类对象b,并调用其act2函数,该函数会调用其父类A2的act1函数。最终输出"C::act1() called."。
相关问题
#include<iostream>与#include<stdio.h>的区别
#include<iostream> 和#include<stdio.h>是两个不同的头文件引用语句,它们有以下区别:
1. 功能:#include<iostream> 是C++标准库中的头文件,用于输入输出操作,包含了cin、cout等对象和函数的定义。而#include<stdio.h>是C语言标准库中的头文件,用于输入输出操作,包含了printf、scanf等函数的定义。
2. 命名空间:#include<iostream> 引入的是std命名空间,需要使用std::cout、std::cin等来访问其中的元素。而#include<stdio.h>没有命名空间的概念,函数名直接使用即可。
3. 扩展名:#include<iostream> 的头文件没有扩展名,因为它是C++标准库中的头文件。而#include<stdio.h>的头文件扩展名为.h,因为它是C语言标准库中的头文件。
4. 文件位置:#include<iostream> 是C++标准库中的头文件,通常位于编译器的include路径中。而#include<stdio.h>是C语言标准库中的头文件,也位于编译器的include路径中。
总之,#include<iostream> 用于C++程序中,提供了更方便的输入输出操作;而#include<stdio.h> 用于C程序中,提供了基本的输入输出功能。
#include <iostream>和#include <stdio.h>有什么区别
#include <iostream>和#include <stdio.h>这两个语句是C++和C语言中用于包含标准库文件的指令。它们有以下区别:
1. 功能不同:#include <iostream>用于包含C++标准输入输出库,而#include <stdio.h>用于包含C语言标准输入输出库。
2. 输入输出方式不同:C++中的iostream库提供了更方便和面向对象的输入输出方式,如使用cin和cout进行输入输出。而C语言的stdio.h库使用更传统的函数方式,如使用scanf和printf进行输入输出。
3. 命名空间不同:C++中的iostream库位于std命名空间中,因此我们通常需要在使用时使用std::前缀,如std::cout、std::cin。而C语言的stdio.h库没有命名空间的概念,可以直接使用其中的函数名。
总体来说,如果在C++代码中,我们通常使用#include <iostream>来包含输入输出库;如果在C代码中,我们通常使用#include <stdio.h>来包含输入输出库。