试图找出为什么我的成员初始化列表不工作
Trynig to figure out why my Member Initializer list doesnt work
#include<iostream>
using namespace std;
class a
{
public:
a():a2(1),
b2(2),
c2(3)
{
cout <<"waruupn";
}
~a()
{
cout<<"Its over brahn";
}
void kappa()
{
cout << a2 <<endl;
}
void kappa1()
{
cout << b2 <<endl;
}
void kappa2()
{
cout << c2 <<endl;
}
};
main ()
{
a ao;
a *lol=&ao;
//ao.kappa();
lol->kappa();
lol->kappa1();
lol->kappa2();
}
为什么不运行?我在a()处得到一个错误:a2(1)我写错什么了吗?它不是应该使a2=1,然后在调用void kappa时打印1吗?我对编程和c++相当陌生,所以请原谅我的低级错误。
您必须声明a2
, b2
和c2
字段来初始化和使用它们。
#include<iostream>
using namespace std;
class a
{
// declaretion of fields
int a2, b2, c2;
public:
a():a2(1),
b2(2),
c2(3)
{
cout <<"waruupn";
}
~a()
{
cout<<"Its over brahn";
}
void kappa()
{
cout << a2 <<endl;
}
void kappa1()
{
cout << b2 <<endl;
}
void kappa2()
{
cout << c2 <<endl;
}
};
// don't omit the return type of functions
int main ()
{
a ao;
a *lol=&ao;
//ao.kappa();
lol->kappa();
lol->kappa1();
lol->kappa2();
}
还要注意,c++中不能省略函数的返回类型。
相关文章:
- C++类 - 初始化列表 - 递归 - 按值传递
- 在初始化列表之外手动调用基类的构造函数
- C++:带有大括号初始化列表的函数调用表达式 - 标准是否规定在单个元素列表的微不足道的情况下忽略大括号?
- std::map与谓词与初始化列表
- 类内初始化与构造函数初始化列表的顺序
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 使用初始化列表填充C++中的多维结构数组时出现问题
- 如何在初始化列表中的构造函数之后初始化变量/对象?
- C++初始化列表与分配值
- C++初始化列表中的向量集大小或调整大小
- 在构造函数初始化列表中使用 std::variant
- emplace_back初始化列表错误,当初始化列表在独立变量上工作时
- 解释了构造函数成员初始化列表
- 使用初始化列表时如何获取私有数据?
- 用初始化列表和超类构造函数声明子类构造函数的正确方式
- 如何在成员初始化列表中声明共享指针
- 庞大的初始化列表,如何修复"fatal error C1060: compiler is out of heap space"
- 我可以检查初始化列表中设置的构造函数主体中的变量吗
- 使用整数初始化列表初始化长双精度的向量
- 是否可以在C++中使用初始化列表设置数组的特定成员?