好吧,只是新的类和试图创建一个简单的程序,它有2个类。 A类和B类。嗯,我试图在类A中的构造函数中初始化我的变量,然后做一些动作并将它传递给B类,我也可以做一些动作。所以A类是一个基类。然而,当我编译程序我有两个错误 -C++的构造函数,并将变量传递给另一个类
error: ‘i’ was not declared in this scope
对于A类和B类所以,我有两个问题1)为什么构造函数不声明变量(按称为第一书构造函数)? 2)我可以如何将变量从A类传递到B类中?
#include <iostream>
#include <cstdio>
using namespace std;
class A {
public:
A(){
int i =1;
}
~A(){}
int foo() {
int p = i+1;
i++;
return p;
}
};
class B : public A {
public:
int showme() {
return i;
}
};
int main() {
A j;
B k;
cout<< k.showme()<<endl;
cout<< j.foo()<<endl;
return 0;
}
那么我必须在构造函数中声明什么呢?我认为构造函数是声明变量? –
我可能是错的,但它听起来像这也可能有助于指出。在这段代码中,你声明了一个类A的变量和一个单独的B类变量。当你将'int i;'作为A的成员变量添加时,这意味着将会有一个整数j.i和一个不同的整数k.i.我不会称之为成员'A :: i'的相当转移。 –