以下定义C++类的代码没有问题 class A{ int func2(int a) int c; public: int b; int func1(int a){return a*a;} }; A::func2(int a) { return a*a*a; }
时间: 2024-03-10 22:45:43 浏览: 76
这个代码有一些问题。首先,func2的定义应该在public或private关键字后面,否则编译器会报错。其次,func2的返回类型应该是int类型,否则也会报错。最后,func2的定义应该在类的外部,否则也会报错。以下是修正后的代码:
```c++
class A{
int c;
public:
int b;
int func1(int a){return a*a;}
int func2(int a);
};
int A::func2(int a) {
return a*a*a;
}
```
相关问题
#include <iostream> using namespace std; class Base { public: Base(intifa=i: void add(int ila=ati:‹ voidprint(Jcouts'a="<<a<<endl; private: int a; ; class Derived: public Base { public: Derived(int i,int j):Base(i),b(i) void print( ){ cout<<"b="<<b<<endl;} void func1){ add(10); void func2(){ Base:: print); } private: int b; }; void main( { Base b(1): b.printO; Derived d(2,3); d.func1(); d.Base::print(); d.Derived::print(); d.func2();输出运行结果
很抱歉,我是一个语言模型,无法执行代码和运行程序。但我可以解释一下这段代码的大意:
这是一个 C++ 的类继承示例,其中有一个基类 Base 和一个派生类 Derived。在 Base 类中有一个私有成员变量 a 和一个公有成员函数 add 和 print。在 Derived 类中有一个私有成员变量 b 和三个公有成员函数 print、func1 和 func2。在 Derived 类的构造函数中通过调用 Base 类的构造函数初始化了 a,并且在 func1 函数中调用了 Base 类的 add 函数。而在 func2 函数中通过使用 Base::print 调用了 Base 类的 print 函数。
这段代码的输出结果无法确定,因为在题目中没有给出这些函数的具体实现,也缺少 main 函数的具体内容。
#include<iostream> using namespace std; class Base { public: Base(int i){a=i;} void add(int j){a=a+j;} void print(){cout<<"a="<<a<<endl;} private: int a; }; class Derived:public Base{ public: Derived(int i,int j):Base(i),b(j){} void print(){cout<<"b="<<b<<endl;} void func1(){add(10);} void func2(){Base::print();} private: int b; }; void main() { Base b(1); b.print(); Derived d(2,3); d.func1(); d.Base::print(); d.Derived::print(); d.func2(); }
这是一个 C++ 的继承示例代码,定义了一个基类 Base 和一个派生类 Derived,其中 Derived 继承自 Base。Derived 类中有一个私有成员变量 b 和两个成员函数 func1 和 func2,分别用来修改和输出 b 的值,以及调用 Base 类中的 print 函数。在主函数中,先创建一个 Base 对象 b,并调用其 print 函数输出 a 的值;然后创建一个 Derived 对象 d,并分别调用其 func1、Base::print、Derived::print 和 func2 函数,分别修改和输出 b 的值,输出 a 和 b 的值,以及调用 Base 类中的 print 函数。
阅读全文